body.public-body {
    --public-bg: #222736;
    --public-surface: #2A3042;
    --public-surface-raised: #2E3548;
    --public-surface-hover: #343B50;
    --public-border: #32394E;
    --public-border-soft: rgba(255, 255, 255, 0.08);
    --public-primary: #556EE6;
    --public-primary-hover: #485EC4;
    --public-primary-soft: rgba(85, 110, 230, 0.15);
    --public-success: #34C38F;
    --public-warning: #F1B44C;
    --public-danger: #F46A6A;
    --public-info: #50A5F1;
    --public-text: #EFF2F7;
    --public-text-secondary: #A6B0CF;
    --public-text-muted: #8991A5;
    --public-sidebar-width: 250px;
    --public-sidebar-collapsed-width: 70px;
    --public-topbar-height: 70px;
    --public-transition: 0.25s;

    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    color: var(--public-text);
    background: var(--public-bg);
    color-scheme: dark;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.public-body *,
.public-body *::before,
.public-body *::after {
    box-sizing: border-box;
}

.public-body a {
    color: #8294F0;
    text-decoration-color: transparent;
    transition: color 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
}

.public-body a:hover {
    color: #AEBBFF;
}

.public-body button,
.public-body input,
.public-body select,
.public-body textarea {
    font: inherit;
}

.public-body :focus-visible {
    outline: 2px solid var(--public-primary);
    outline-offset: 2px;
}

.public-body ::selection {
    color: #FFFFFF;
    background: var(--public-primary);
}

.public-page-loader {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: grid;
    place-items: center;
    background: var(--public-bg);
    opacity: 1;
    visibility: visible;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

.public-page-loader.is-hidden {
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
}

.public-page-loader-spinner {
    width: 3rem;
    height: 3rem;
    border: 0.25rem solid var(--public-border);
    border-top-color: var(--public-primary);
    border-radius: 50%;
    animation: public-page-loader-spin 0.75s linear infinite;
}

@keyframes public-page-loader-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .public-page-loader,
    .public-page-loader-spinner {
        transition: none;
        animation: none;
    }
}

.public-body > main#main-content {
    position: relative;
    flex: 1 0 auto;
    min-width: 0;
    margin-left: var(--public-sidebar-width);
    padding: 1.75rem 1.5rem;
    background: var(--public-bg);
    transition: margin-left var(--public-transition) ease;
}

.public-body .site-footer {
    flex: 0 0 auto;
    margin-left: var(--public-sidebar-width);
    border-top: 1px solid var(--public-border);
    background: #1D2230;
    color: var(--public-text-secondary);
    transition: margin-left var(--public-transition) ease;
}

.public-body .site-footer a {
    color: var(--public-text-secondary);
}

.public-body .site-footer a:hover {
    color: var(--public-warning);
}

.public-body .site-footer h5 {
    color: var(--public-text);
}

.public-body .site-footer h5::after {
    background: var(--public-primary);
}

.public-body .footer-bottom {
    border-top: 1px solid var(--public-border);
    background: #191D29;
    color: var(--public-text-muted);
}

.public-body .footer-bottom .text-warning {
    color: var(--public-warning) !important;
}

.portal-skip-link {
    position: fixed;
    top: -5rem;
    left: 1rem;
    z-index: 1200;
    padding: 0.7rem 1rem;
    border-radius: 0 0 0.5rem 0.5rem;
    background: var(--public-primary);
    color: #FFFFFF;
    font-weight: 700;
}

.portal-skip-link:focus {
    top: 0;
    color: #FFFFFF;
}

.portal-national-stripe {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1005;
    height: 4px;
    background: linear-gradient(90deg, #DC143C 0 55%, #003893 55% 100%);
}

.public-shell {
    position: relative;
    z-index: 1000;
    margin-left: var(--public-sidebar-width);
    padding-top: var(--public-topbar-height);
    transition: margin-left var(--public-transition) ease;
}

.portal-topbar {
    position: fixed;
    z-index: 1004;
    top: 4px;
    right: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: calc(var(--public-topbar-height) - 4px);
    padding: 0 1.25rem 0 0;
    border-bottom: 1px solid var(--public-border);
    background: var(--public-surface);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.16);
}

.portal-topbar-brand {
    display: flex;
    flex: 0 0 var(--public-sidebar-width);
    align-items: center;
    height: 100%;
    padding: 0 1.25rem;
    border-right: 1px solid var(--public-border);
    background: var(--public-surface);
    transition: flex-basis var(--public-transition) ease;
}

.portal-sidebar-toggle {
    margin-left: 0.5rem;
}

.portal-topbar-actions {
    margin-left: auto;
}

.portal-logo-link {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.65rem;
    color: var(--public-text);
    text-decoration: none;
    white-space: nowrap;
}

.portal-logo-link:hover {
    color: #FFFFFF;
}

.portal-logo-icon {
    flex: 0 0 auto;
    color: var(--public-warning);
    font-size: 1.65rem;
}

.portal-logo-text {
    overflow: hidden;
    color: var(--public-text);
    font-size: 1.05rem;
    font-weight: 750;
    letter-spacing: 0.03em;
    text-overflow: ellipsis;
}

.portal-logo-tag {
    padding: 0.15rem 0.45rem;
    border-radius: 0.25rem;
    background: var(--public-primary);
    color: #FFFFFF;
    font-size: 0.62rem;
    font-weight: 750;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.portal-topbar-actions {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.55rem;
}

.portal-topbar-btn {
    display: inline-flex;
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 0.5rem;
    background: transparent;
    color: var(--public-text-secondary);
    font-size: 1.15rem;
    text-decoration: none;
    cursor: pointer;
    transition: color 0.18s ease, background-color 0.18s ease;
}

.portal-topbar-btn:hover,
.portal-topbar-btn:focus-visible {
    background: var(--public-border-soft);
    color: #FFFFFF;
}

.portal-topbar-search {
    display: flex;
    width: min(18rem, 27vw);
    height: 38px;
    align-items: center;
    gap: 0.55rem;
    padding: 0 0.5rem 0 0.75rem;
    border: 1px solid var(--public-border);
    border-radius: 2rem;
    background: var(--public-surface-raised);
    color: var(--public-text-muted);
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.portal-topbar-search:focus-within {
    border-color: var(--public-primary);
    box-shadow: 0 0 0 3px var(--public-primary-soft);
}

.portal-topbar-search > i {
    flex: 0 0 auto;
    font-size: 0.85rem;
}

.portal-topbar-search input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--public-text);
    font-size: 0.82rem;
}

.portal-topbar-search input:focus-visible {
    outline: none;
}

.portal-topbar-search input::placeholder {
    color: var(--public-text-muted);
}

.portal-topbar-search button {
    display: inline-flex;
    width: 27px;
    height: 27px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--public-text-muted);
    cursor: pointer;
}

.portal-topbar-search button:hover {
    background: var(--public-primary);
    color: #FFFFFF;
}

.portal-topbar-contact,
.portal-topbar-login {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--public-text-secondary);
    font-size: 0.82rem;
    text-decoration: none;
    white-space: nowrap;
}

.portal-topbar-contact:hover,
.portal-topbar-login:hover {
    color: var(--public-primary);
}

.portal-topbar-join,
.portal-topbar-cms {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    padding: 0.4rem 0.8rem;
    border: 1px solid var(--public-primary);
    border-radius: 0.4rem;
    background: var(--public-primary);
    color: #FFFFFF;
    font-size: 0.82rem;
    font-weight: 650;
    text-decoration: none;
    white-space: nowrap;
}

.portal-topbar-join:hover,
.portal-topbar-cms:hover {
    border-color: var(--public-primary-hover);
    background: var(--public-primary-hover);
    color: #FFFFFF;
}

.portal-topbar-cms {
    border-color: var(--public-border);
    background: transparent;
    color: var(--public-text-secondary);
}

.portal-topbar-cms:hover {
    border-color: var(--public-primary);
    background: var(--public-primary-soft);
    color: #FFFFFF;
}

.portal-language-menu .dropdown-menu {
    margin-top: 0.45rem !important;
}

.public-sidebar {
    position: fixed;
    z-index: 1060;
    top: var(--public-topbar-height);
    bottom: 0;
    left: 0;
    display: flex;
    width: var(--public-sidebar-width);
    flex-direction: column;
    overflow: hidden auto;
    border-right: 1px solid var(--public-border);
    background: var(--public-surface);
    box-shadow: none;
    scrollbar-color: var(--public-border) var(--public-surface);
    scrollbar-width: thin;
    transform: none;
    transition: width var(--public-transition) ease, transform var(--public-transition) ease;
}

.public-sidebar::-webkit-scrollbar {
    width: 5px;
}

.public-sidebar::-webkit-scrollbar-thumb {
    border-radius: 1rem;
    background: var(--public-border);
}

.public-sidebar-brand {
    position: sticky;
    z-index: 2;
    top: 0;
    display: flex;
    min-height: 76px;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.7rem;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var(--public-border);
    background: var(--public-surface);
}

.portal-sidebar-emblem {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid rgba(241, 180, 76, 0.25);
    border-radius: 0.75rem;
    background: rgba(241, 180, 76, 0.1);
    color: var(--public-warning);
    font-size: 1.4rem;
}

.public-sidebar-brand-text {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.public-sidebar-title {
    overflow: hidden;
    color: var(--public-text);
    font-size: 0.93rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.public-sidebar-subtitle {
    overflow: hidden;
    margin-top: 0.12rem;
    color: var(--public-text-muted);
    font-size: 0.69rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.public-sidebar-content {
    padding: 0.75rem 0.65rem 1.25rem;
}

.sidebar-menu-filter {
    margin: 0.15rem 0.45rem 0.7rem;
}

.sidebar-menu-filter-input {
    position: relative;
    display: flex;
    align-items: center;
}

.sidebar-menu-filter-input > .bi-search {
    position: absolute;
    z-index: 1;
    left: 0.75rem;
    color: var(--public-text-muted);
    font-size: 0.8rem;
    pointer-events: none;
}

.public-body .sidebar-menu-filter input {
    height: 38px;
    padding: 0.4rem 2rem;
    border: 1px solid var(--public-border);
    border-radius: 2rem;
    background: var(--public-surface-raised);
    color: var(--public-text);
    font-size: 0.8rem;
}

.public-body .sidebar-menu-filter input::placeholder {
    color: var(--public-text-muted);
}

.public-body .sidebar-menu-filter input:focus {
    border-color: var(--public-primary);
    box-shadow: 0 0 0 2px var(--public-primary-soft);
}

.sidebar-menu-filter-clear {
    position: absolute;
    right: 0.4rem;
    display: inline-flex;
    width: 26px;
    height: 26px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--public-text-muted);
    font-size: 0.7rem;
    cursor: pointer;
}

.sidebar-menu-filter-clear:hover {
    background: var(--public-border-soft);
    color: var(--public-text);
}

.sidebar-menu-filter-empty {
    padding: 0.65rem 0.35rem 0.25rem;
    color: var(--public-text-muted);
    font-size: 0.78rem;
}

.public-sidebar-menu,
.public-menu-submenu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.public-menu-title {
    padding: 1rem 0.8rem 0.4rem;
    color: var(--public-text-muted);
    font-size: 0.67rem;
    font-weight: 750;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.public-menu-item,
.public-menu-group {
    margin-bottom: 0.15rem;
}

.public-menu-link,
.public-menu-category {
    position: relative;
    display: flex;
    width: 100%;
    min-height: 42px;
    align-items: center;
    gap: 0.7rem;
    padding: 0.62rem 0.78rem;
    border: 0;
    border-radius: 0.42rem;
    background: transparent;
    color: var(--public-text-secondary);
    font-size: 0.86rem;
    font-weight: 520;
    line-height: 1.35;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: color 0.18s ease, background-color 0.18s ease;
}

.public-menu-link > i,
.public-menu-category > i:first-child {
    display: inline-flex;
    width: 1.35rem;
    flex: 0 0 1.35rem;
    align-items: center;
    justify-content: center;
    color: var(--public-text-muted);
    font-size: 1.05rem;
}

.public-menu-submenu a > i {
    display: inline-flex;
    width: 1.4rem;
    flex: 0 0 1.4rem;
    align-items: center;
    justify-content: center;
    margin-right: 0.35rem;
    color: var(--public-text-muted);
    font-size: 0.95rem;
    line-height: 1;
    transition: color 0.18s ease;
}

.public-menu-submenu a > span {
    min-width: 0;
}

.public-menu-link > span,
.public-menu-category > span {
    overflow: hidden;
    flex: 1 1 auto;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.public-menu-link:hover,
.public-menu-category:hover,
.public-menu-category[aria-expanded="true"] {
    background: var(--public-border-soft);
    color: var(--public-text);
}

.public-menu-link:hover > i,
.public-menu-category:hover > i:first-child {
    color: var(--public-primary);
}

.public-menu-link.active,
.public-menu-link[aria-current="page"] {
    position: relative;
    background: var(--public-primary);
    box-shadow: 0 2px 8px rgba(85, 110, 230, 0.3);
    color: #FFFFFF;
    font-weight: 650;
}

.public-menu-link.active::before,
.public-menu-link[aria-current="page"]::before {
    position: absolute;
    top: 0.45rem;
    bottom: 0.45rem;
    left: 0;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: #FFFFFF;
    content: "";
}

.public-menu-link.active > i,
.public-menu-link[aria-current="page"] > i {
    color: #FFFFFF;
}

.public-menu-chevron {
    margin-left: auto;
    color: var(--public-text-muted);
    font-size: 0.72rem;
    transition: transform 0.2s ease;
}

.public-menu-category[aria-expanded="true"] .public-menu-chevron {
    transform: rotate(90deg);
}

.public-menu-submenu {
    display: block;
    max-height: 0;
    overflow: hidden;
    padding: 0 0 0 1.5rem;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: max-height 0.24s ease, padding 0.24s ease, opacity 0.16s ease, visibility 0s linear 0.24s;
}

.public-menu-submenu.is-expanded {
    max-height: var(--public-submenu-height, 32rem);
    padding: 0.15rem 0 0.35rem 1.5rem;
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transition-delay: 0s;
}

.public-menu-submenu li {
    margin: 0.1rem 0;
}

.public-menu-submenu a {
    position: relative;
    display: flex;
    min-height: 36px;
    align-items: center;
    padding: 0.45rem 0.65rem;
    border-radius: 0.35rem;
    color: var(--public-text-muted);
    font-size: 0.79rem;
    line-height: 1.35;
    text-decoration: none;
}

.public-menu-submenu a:hover,
.public-menu-submenu a:focus-visible {
    background: var(--public-border-soft);
    color: #FFFFFF;
}

.public-menu-submenu a:hover > i,
.public-menu-submenu a.active > i {
    color: inherit;
}

.public-menu-submenu a.active,
.public-menu-submenu a[aria-current="page"],
.public-menu-submenu a[aria-current="location"] {
    position: relative;
    background: var(--public-primary);
    box-shadow: 0 2px 8px rgba(85, 110, 230, 0.3);
    color: #FFFFFF;
    font-weight: 600;
}

.public-menu-submenu a.active::before,
.public-menu-submenu a[aria-current="page"]::before,
.public-menu-submenu a[aria-current="location"]::before {
    position: absolute;
    top: 0.35rem;
    bottom: 0.35rem;
    left: 0;
    width: 2px;
    border-radius: 0 2px 2px 0;
    background: #FFFFFF;
    content: "";
}

.public-menu-submenu a.active > i,
.public-menu-submenu a[aria-current="page"] > i,
.public-menu-submenu a[aria-current="location"] > i {
    color: #FFFFFF;
}

.public-sidebar-footer {
    margin-top: 0.8rem;
    padding: 1rem 0.8rem 0.25rem;
    border-top: 1px solid var(--public-border);
}

.public-sidebar-section-title {
    margin: 0.15rem 0 0.55rem;
    color: var(--public-text-muted);
    font-size: 0.68rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.public-language-switch {
    display: flex;
    gap: 0.4rem;
    margin-bottom: 1rem;
}

.public-language-switch button {
    flex: 1 1 50%;
    min-height: 34px;
    border: 1px solid var(--public-border);
    border-radius: 0.35rem;
    background: var(--public-surface-raised);
    color: var(--public-text-secondary);
    font-size: 0.78rem;
    cursor: pointer;
}

.public-language-switch button:hover,
.public-language-switch button.active {
    border-color: var(--public-primary);
    background: var(--public-primary-soft);
    color: #FFFFFF;
}

.public-sidebar-contact,
.public-sidebar-utility {
    display: flex;
    min-height: 32px;
    align-items: center;
    gap: 0.55rem;
    color: var(--public-text-secondary);
    font-size: 0.77rem;
    text-decoration: none;
}

.public-sidebar-contact > i,
.public-sidebar-utility > i {
    width: 1rem;
    color: var(--public-text-muted);
}

.public-sidebar-contact:hover,
.public-sidebar-utility:hover {
    color: #FFFFFF;
}

.public-sidebar-utility {
    width: 100%;
    min-height: 36px;
    padding: 0.35rem 0;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.public-sidebar-socials {
    display: flex;
    gap: 0.45rem;
    margin: 0.6rem 0 0.75rem;
}

.public-sidebar-socials a {
    display: inline-flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--public-border);
    border-radius: 50%;
    color: var(--public-text-secondary);
    font-size: 0.82rem;
}

.public-sidebar-socials a:hover {
    border-color: var(--public-primary);
    background: var(--public-primary-soft);
    color: #FFFFFF;
}

.public-sidebar-address {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-top: 0.7rem;
    padding-top: 0.7rem;
    border-top: 1px solid var(--public-border);
    color: var(--public-text-muted);
    font-size: 0.72rem;
    line-height: 1.5;
}

.public-sidebar-address i {
    flex: 0 0 auto;
    color: var(--public-warning);
}

.public-sidebar-backdrop {
    display: none;
}

.public-body.portal-sidebar-collapsed {
    --public-sidebar-width: var(--public-sidebar-collapsed-width);
}

.public-sidebar-collapsed .portal-topbar-brand {
    flex-basis: var(--public-sidebar-collapsed-width);
    justify-content: center;
    padding: 0;
}

.public-sidebar-collapsed .portal-logo-text,
.public-sidebar-collapsed .portal-logo-tag,
.public-sidebar-collapsed .public-sidebar-brand-text,
.public-sidebar-collapsed .sidebar-menu-filter,
.public-sidebar-collapsed .public-menu-title,
.public-sidebar-collapsed .public-menu-link > span,
.public-sidebar-collapsed .public-menu-category > span,
.public-sidebar-collapsed .public-menu-chevron,
.public-sidebar-collapsed .public-sidebar-footer {
    display: none;
}

.public-sidebar-collapsed .public-sidebar-content {
    padding: 0.75rem 0.55rem;
}

.public-sidebar-collapsed .public-sidebar-brand {
    min-height: 58px;
    justify-content: center;
    padding: 0.5rem;
}

.public-sidebar-collapsed .portal-sidebar-emblem {
    width: 38px;
    height: 38px;
}

.public-sidebar-collapsed .public-menu-link,
.public-sidebar-collapsed .public-menu-category {
    justify-content: center;
    padding: 0.65rem 0;
}

.public-sidebar-collapsed .public-menu-link > i,
.public-sidebar-collapsed .public-menu-category > i:first-child {
    width: auto;
    flex: 0 0 auto;
    font-size: 1.2rem;
}

.public-sidebar-collapsed .public-menu-group:not(.is-flyout-open) .public-menu-submenu {
    display: none;
}

.public-sidebar-collapsed .public-menu-submenu.is-expanded {
    position: fixed;
    z-index: 1065;
    width: 250px;
    max-height: min(70vh, 32rem);
    overflow-y: auto;
    padding: 0.5rem;
    border: 1px solid var(--public-border);
    border-radius: 0.5rem;
    background: var(--public-surface);
    box-shadow: 0 0.75rem 1.75rem rgba(0, 0, 0, 0.35);
}

.public-sidebar-collapsed .public-menu-submenu.is-expanded a {
    padding: 0.55rem 0.65rem;
}

.public-announcement {
    min-height: 44px;
    padding: 0.4rem 1.5rem;
    border: 0;
    border-bottom: 1px solid var(--public-border);
    background: var(--public-surface);
}

.public-announcement .portal-announcement-container {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.public-announcement .portal-announcement-badge {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    padding: 0.25rem 0.55rem;
    border-radius: 0.3rem;
    background: var(--public-primary);
    color: #FFFFFF;
    font-size: 0.69rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.public-announcement .portal-announcement-text {
    overflow: hidden;
    flex: 1 1 auto;
    color: var(--public-text-secondary);
    font-size: 0.82rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.public-announcement .portal-announcement-dismiss {
    display: inline-flex;
    width: 30px;
    height: 30px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 0.35rem;
    background: transparent;
    color: var(--public-text-muted);
    cursor: pointer;
}

.public-announcement .portal-announcement-dismiss:hover {
    background: var(--public-border-soft);
    color: var(--public-text);
}

.public-body h1,
.public-body h2,
.public-body h3,
.public-body h4,
.public-body h5,
.public-body h6 {
    color: var(--public-text);
}

.public-body p,
.public-body li {
    color: inherit;
}

.public-body .section-header {
    position: relative;
    margin-bottom: 1.5rem;
}

.public-body .section-header h2 {
    margin: 0.25rem 0 0;
    color: var(--public-text);
    font-size: clamp(1.35rem, 2.2vw, 1.8rem);
    font-weight: 720;
    letter-spacing: -0.02em;
}

.public-body .section-header .section-tag {
    color: #9BACFF;
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.public-body .page-content,
.public-body .public-page {
    color: var(--public-text-secondary);
}

.public-body .bg-dark.text-white,
.public-body #main-content > .bg-dark {
    border-bottom: 1px solid var(--public-border);
    background: linear-gradient(135deg, #252B3A, #2A3042) !important;
    color: var(--public-text) !important;
}

.public-body .bg-dark h1,
.public-body .bg-dark h2,
.public-body .bg-dark h3,
.public-body .bg-dark p {
    color: var(--public-text);
}

.public-body .hero-carousel {
    margin: -1.75rem -1.5rem 1.75rem;
}

.public-body .hero-carousel .carousel-item {
    min-height: 420px;
    background-color: #252B3A;
}

.public-body .hero-overlay {
    background: linear-gradient(90deg, rgba(34, 39, 54, 0.95), rgba(34, 39, 54, 0.72) 58%, rgba(34, 39, 54, 0.25));
}

.public-body .hero-title {
    color: #FFFFFF;
    font-size: clamp(2rem, 4vw, 3.25rem);
    font-weight: 780;
    letter-spacing: -0.035em;
}

.public-body .hero-subtitle {
    max-width: 44rem;
    color: #D0D6E4;
    font-size: clamp(1rem, 1.6vw, 1.2rem);
    line-height: 1.7;
}

.public-body .portal-card,
.public-body .leader-card,
.public-body .doc-item,
.public-body .section-card,
.public-body .stat-card,
.public-body .gateway-card,
.public-body .membership-card,
.public-body .donation-card,
.public-body .contact-card,
.public-body .card {
    border: 1px solid var(--public-border);
    border-radius: 0.65rem;
    background: var(--public-surface);
    color: var(--public-text-secondary);
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.16);
}

.public-body .portal-card {
    display: flex;
    height: 100%;
    flex-direction: column;
    overflow: hidden;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.public-body .portal-card:hover,
.public-body .leader-card:hover,
.public-body .doc-item:hover,
.public-body .gateway-card:hover {
    transform: translateY(-3px);
    border-color: rgba(85, 110, 230, 0.75);
    box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.26);
}

.public-body .portal-card-img {
    width: 100%;
    height: 190px;
    object-fit: cover;
    background: var(--public-surface-raised);
}

.public-body .portal-card-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 1.2rem;
}

.public-body .portal-card .p-3.bg-light {
    background: var(--public-surface-raised) !important;
}

.public-body .portal-card h5 a,
.public-body .doc-item h6 a,
.public-body .portal-card .text-dark {
    color: var(--public-text) !important;
}

.public-body .portal-badge-saffron,
.public-body .portal-badge-navy {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.55rem;
    border-radius: 0.3rem;
    background: var(--public-primary-soft);
    color: #B5C0FF;
    font-size: 0.72rem;
    font-weight: 650;
}

.public-body .leader-card {
    padding: 1.5rem 1.1rem;
    text-align: center;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.public-body .leader-avatar,
.public-body .leader-avatar-placeholder {
    width: 112px;
    height: 112px;
    margin: 0 auto 1rem;
    border: 3px solid var(--public-primary);
    border-radius: 50%;
    object-fit: cover;
}

.public-body .leader-avatar-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #343B50, #2A3042);
    color: #AEBBFF;
    font-size: 2.7rem;
}

.public-body .doc-item {
    display: flex;
    align-items: flex-start;
    padding: 1.1rem;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.public-body .doc-icon {
    flex: 0 0 auto;
    margin-right: 1rem;
    color: var(--public-danger);
    font-size: 1.8rem;
}

.public-body .membership-hero,
.public-body .donation-hero {
    border: 1px solid var(--public-border);
    border-bottom: 3px solid var(--public-primary);
    border-radius: 0.75rem;
    background: linear-gradient(135deg, #252B3A, #2A3042);
    color: var(--public-text);
}

.public-body .membership-card-container,
.public-body .donation-card-container {
    max-width: 980px;
}

.public-body .section-card {
    padding: 1.35rem;
    margin-bottom: 1.25rem;
}

.public-body .section-header-modern {
    display: flex;
    align-items: center;
    padding-bottom: 0.75rem;
    margin-bottom: 1.2rem;
    border-bottom: 1px solid var(--public-border);
}

.public-body .section-header-modern h5 {
    margin: 0;
    color: var(--public-text);
    font-size: 1rem;
    font-weight: 700;
}

.public-body .section-header-modern .section-subtext {
    color: var(--public-text-muted);
    font-size: 0.8rem;
}

.public-body .section-icon-chip {
    display: flex;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    margin-right: 0.75rem;
    border: 1px solid var(--public-border);
    border-radius: 0.6rem;
    background: var(--public-primary-soft);
    color: #AEBBFF;
    font-size: 1.1rem;
}

.public-body .pledge-box,
.public-body .declaration-card {
    padding: 1rem 1.2rem;
    border: 1px solid var(--public-border);
    border-radius: 0.65rem;
    background: var(--public-surface-raised);
    color: var(--public-text-secondary);
}

.public-body .pledge-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 0.65rem;
    color: var(--public-text-secondary);
    font-size: 0.875rem;
    line-height: 1.5;
}

.public-body .pledge-item:last-child {
    margin-bottom: 0;
}

.public-body .pledge-item i {
    flex: 0 0 auto;
    margin: 0.15rem 0.6rem 0 0;
    color: var(--public-success);
}

.public-body .btn-portal-primary,
.public-body .portal-cta-join,
.public-body .btn-primary {
    border-color: var(--public-primary);
    background: var(--public-primary);
    color: #FFFFFF;
    font-weight: 650;
    box-shadow: 0 2px 8px rgba(85, 110, 230, 0.24);
}

.public-body .btn-portal-primary:hover,
.public-body .portal-cta-join:hover,
.public-body .btn-primary:hover {
    border-color: var(--public-primary-hover);
    background: var(--public-primary-hover);
    color: #FFFFFF;
}

.public-body .btn-portal-secondary,
.public-body .portal-cta-donate {
    border: 1px solid var(--public-border);
    background: var(--public-surface-raised);
    color: var(--public-text) !important;
}

.public-body .btn-portal-secondary:hover,
.public-body .portal-cta-donate:hover {
    border-color: var(--public-primary);
    background: var(--public-surface-hover);
}

.public-body .btn-portal-outline {
    border: 1px solid var(--public-primary);
    background: transparent;
    color: #FFFFFF;
}

.public-body .btn-portal-outline:hover {
    background: var(--public-primary);
    color: #FFFFFF;
}

.public-body .btn-outline-primary,
.public-body .btn-outline-dark,
.public-body .btn-outline-secondary {
    border-color: var(--public-border);
    color: var(--public-text-secondary);
}

.public-body .btn-outline-primary:hover,
.public-body .btn-outline-dark:hover,
.public-body .btn-outline-secondary:hover {
    border-color: var(--public-primary);
    background: var(--public-primary);
    color: #FFFFFF;
}

.public-body .btn-outline-warning {
    border-color: var(--public-warning);
    color: var(--public-warning);
}

.public-body .btn-outline-warning:hover {
    border-color: var(--public-warning);
    background: var(--public-warning);
    color: #212529;
}

.public-body .btn-warning {
    border-color: var(--public-warning);
    background: var(--public-warning);
    color: #212529;
}

.public-body .form-control,
.public-body .form-select,
.public-body .input-group-text,
.public-body textarea {
    min-height: 42px;
    border: 1px solid var(--public-border);
    background-color: var(--public-surface-raised);
    color: var(--public-text);
}

.public-body textarea.form-control {
    min-height: 110px;
}

.public-body .form-control::placeholder,
.public-body textarea::placeholder {
    color: var(--public-text-muted);
}

.public-body .form-control:focus,
.public-body .form-select:focus,
.public-body textarea:focus {
    border-color: var(--public-primary);
    background-color: var(--public-surface-raised);
    color: var(--public-text);
    box-shadow: 0 0 0 0.2rem var(--public-primary-soft);
}

.public-body .form-control:disabled,
.public-body .form-select:disabled {
    background-color: #272D3D;
    color: var(--public-text-muted);
}

.public-body .form-label,
.public-body label {
    color: var(--public-text-secondary);
}

.public-body .membership-form .form-label,
.public-body .donation-form .form-label,
.public-body .contact-form .form-label {
    margin-bottom: 0.4rem;
    font-size: 0.87rem;
    font-weight: 650;
}

.public-body .membership-form .input-group,
.public-body .donation-form .input-group {
    border-radius: 0.5rem;
}

.public-body .membership-form .input-group-text,
.public-body .donation-form .input-group-text,
.public-body .contact-card .input-group-text {
    background: #272D3D;
    color: var(--public-text-muted);
}

.public-body .membership-form .form-control,
.public-body .membership-form .form-select,
.public-body .donation-form .form-control,
.public-body .donation-form .form-select {
    color: var(--public-text);
}

.public-body .form-check-input {
    border-color: #596078;
    background-color: var(--public-surface-raised);
}

.public-body .form-check-input:checked {
    border-color: var(--public-primary);
    background-color: var(--public-primary);
}

.public-body .form-check-label {
    color: var(--public-text-secondary);
}

.public-body .gateway-card {
    position: relative;
    border: 2px solid var(--public-border);
    border-radius: 0.7rem;
    background: var(--public-surface);
    cursor: pointer;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.public-body .gateway-card.active-gateway,
.public-body .gateway-card[data-gw-id].active-gateway {
    border-color: var(--public-primary) !important;
    background: var(--public-primary-soft) !important;
    box-shadow: 0 0.35rem 1rem rgba(85, 110, 230, 0.18) !important;
}

.public-body .table {
    --bs-table-color: var(--public-text-secondary);
    --bs-table-bg: var(--public-surface);
    --bs-table-border-color: var(--public-border);
    --bs-table-striped-bg: var(--public-surface-raised);
    --bs-table-striped-color: var(--public-text);
    --bs-table-hover-bg: var(--public-surface-hover);
    --bs-table-hover-color: var(--public-text);
}

.public-body .table > :not(caption) > * > * {
    border-color: var(--public-border);
}

.public-body .table-light,
.public-body .table-light > th,
.public-body .table-light > td {
    --bs-table-color: var(--public-text-secondary);
    --bs-table-bg: var(--public-surface-raised);
}

.public-body .list-group-item {
    border-color: var(--public-border);
    background: var(--public-surface);
    color: var(--public-text-secondary);
}

.public-body .dropdown-menu {
    border: 1px solid var(--public-border);
    border-radius: 0.55rem;
    background: var(--public-surface);
    box-shadow: 0 0.75rem 1.75rem rgba(0, 0, 0, 0.32);
}

.public-body .dropdown-item {
    color: var(--public-text-secondary);
    font-size: 0.86rem;
}

.public-body .dropdown-item:hover,
.public-body .dropdown-item:focus,
.public-body .dropdown-item.active {
    background: var(--public-primary-soft);
    color: #FFFFFF;
}

.public-body .dropdown-header {
    color: var(--public-text-muted);
}

.public-body .dropdown-divider {
    border-color: var(--public-border);
}

.public-body .modal-content {
    border: 1px solid var(--public-border);
    border-radius: 0.7rem;
    background: var(--public-surface);
    color: var(--public-text);
}

.public-body .modal-header,
.public-body .modal-footer {
    border-color: var(--public-border);
}

.public-body .modal-header .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

.public-body .alert {
    border-color: var(--public-border);
    color: var(--public-text);
}

.public-body .alert-primary {
    background: var(--public-primary-soft);
}

.public-body .alert-success {
    background: rgba(52, 195, 143, 0.14);
}

.public-body .alert-warning {
    background: rgba(241, 180, 76, 0.14);
}

.public-body .alert-danger {
    background: rgba(244, 106, 106, 0.14);
}

.public-body .alert-info {
    background: rgba(80, 165, 241, 0.14);
}

.public-body .pagination {
    --bs-pagination-bg: var(--public-surface);
    --bs-pagination-color: var(--public-text-secondary);
    --bs-pagination-border-color: var(--public-border);
    --bs-pagination-hover-bg: var(--public-primary-soft);
    --bs-pagination-hover-color: #FFFFFF;
    --bs-pagination-hover-border-color: var(--public-primary);
    --bs-pagination-active-bg: var(--public-primary);
    --bs-pagination-active-border-color: var(--public-primary);
    --bs-pagination-disabled-bg: var(--public-surface-raised);
    --bs-pagination-disabled-color: var(--public-text-muted);
}

.public-body .portal-badge-saffron,
.public-body .badge.bg-light,
.public-body .bg-light {
    background-color: var(--public-surface-raised) !important;
}

.public-body .text-dark,
.public-body .text-body,
.public-body .text-secondary {
    color: var(--public-text-secondary) !important;
}

.public-body .text-muted {
    color: var(--public-text-muted) !important;
}

.public-body .text-primary {
    color: #AEBBFF !important;
}

.public-body .text-success {
    color: var(--public-success) !important;
}

.public-body .text-danger {
    color: var(--public-danger) !important;
}

.public-body .text-info {
    color: var(--public-info) !important;
}

.public-body .text-warning {
    color: var(--public-warning) !important;
}

.public-body .bg-warning.text-dark,
.public-body .btn-warning.text-dark,
.public-body .badge.bg-warning {
    color: #212529 !important;
}

.public-body .border,
.public-body .border-top,
.public-body .border-bottom,
.public-body .border-start,
.public-body .border-end {
    border-color: var(--public-border) !important;
}

.public-body .text-white {
    color: var(--public-text) !important;
}

.public-body .bg-white {
    background-color: var(--public-surface) !important;
}

.public-body .portal-drawer-close {
    display: inline-flex;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--public-border);
    border-radius: 0.45rem;
    background: var(--public-surface-raised);
    color: var(--public-text-secondary);
    cursor: pointer;
}

.public-body .portal-drawer-close:hover {
    border-color: var(--public-danger);
    background: rgba(244, 106, 106, 0.12);
    color: #FFFFFF;
}

.public-body .receipt-toolbar {
    display: flex;
    justify-content: center;
    padding: 1rem;
}

.public-body .receipt-sheet {
    max-width: 900px;
    margin: 0 auto;
    padding: 2rem;
    border: 1px solid var(--public-border);
    border-radius: 0.75rem;
    background: var(--public-surface);
    box-shadow: 0 0.5rem 1.75rem rgba(0, 0, 0, 0.2);
}

body.public-body.portal-drawer-open {
    overflow: hidden;
}

@media (min-width: 992px) {
    .public-body.portal-sidebar-collapsed .public-sidebar {
        width: var(--public-sidebar-collapsed-width);
    }

    body.public-body.portal-sidebar-collapsed .public-sidebar {
        width: var(--public-sidebar-collapsed-width);
    }

    .public-body.portal-sidebar-collapsed .public-shell,
    body.public-body.portal-sidebar-collapsed > main#main-content,
    .public-body.portal-sidebar-collapsed .site-footer {
        margin-left: var(--public-sidebar-collapsed-width);
    }

    body.public-body.portal-sidebar-collapsed .public-menu-title,
    body.public-body.portal-sidebar-collapsed .public-menu-link > span,
    body.public-body.portal-sidebar-collapsed .public-menu-category > span,
    body.public-body.portal-sidebar-collapsed .public-menu-chevron,
    body.public-body.portal-sidebar-collapsed .public-sidebar-brand-text,
    body.public-body.portal-sidebar-collapsed .sidebar-menu-filter,
    body.public-body.portal-sidebar-collapsed .public-sidebar-footer {
        display: none !important;
    }

    body.public-body.portal-sidebar-collapsed .public-sidebar-content {
        overflow: visible;
        padding: 0.75rem 0.45rem;
    }

    body.public-body.portal-sidebar-collapsed .public-menu-link,
    body.public-body.portal-sidebar-collapsed .public-menu-category {
        width: 100%;
        justify-content: center;
        padding: 0.65rem 0;
        white-space: nowrap;
    }

    body.public-body.portal-sidebar-collapsed .public-menu-link > i,
    body.public-body.portal-sidebar-collapsed .public-menu-category > i:first-child {
        width: auto;
        min-width: 0;
        flex: 0 0 auto;
        margin: 0;
        font-size: 1.2rem;
    }

    body.public-body.portal-sidebar-collapsed .public-menu-group {
        position: relative;
    }

    body.public-body.portal-sidebar-collapsed .public-menu-group .public-menu-submenu {
        display: block;
        position: fixed;
        z-index: 1065;
        top: 1rem;
        left: var(--public-sidebar-collapsed-width);
        width: 250px;
        max-height: calc(100vh - 2rem);
        overflow-y: auto;
        padding: 0.5rem;
        border: 1px solid var(--public-border);
        border-radius: 0.5rem;
        background: var(--public-surface);
        box-shadow: 0 0.75rem 1.75rem rgba(0, 0, 0, 0.35);
        opacity: 0;
        pointer-events: none;
        transform: translateX(-0.4rem);
        visibility: hidden;
        transition: opacity 0.16s ease, transform 0.16s ease, visibility 0s linear 0.16s;
    }

    body.public-body.portal-sidebar-collapsed .public-menu-group.is-flyout-open .public-menu-submenu {
        opacity: 1;
        pointer-events: auto;
        transform: translateX(0);
        visibility: visible;
        transition-delay: 0s;
    }

    body.public-body.portal-sidebar-collapsed .public-menu-submenu.is-expanded a {
        gap: 0.35rem;
        justify-content: flex-start;
        padding: 0.55rem 0.65rem;
        white-space: normal;
    }

    body.public-body.portal-sidebar-collapsed .public-menu-submenu.is-expanded a > i {
        display: inline-flex;
        width: 2rem;
        min-width: 2rem;
        height: 2rem;
        flex: 0 0 2rem;
        justify-content: center;
        margin: 0;
        border-radius: 0.45rem;
        background: var(--public-primary-soft);
        color: var(--public-primary);
        font-size: 1.05rem;
        line-height: 1;
    }

    body.public-body.portal-sidebar-collapsed .public-menu-submenu.is-expanded a:hover > i,
    body.public-body.portal-sidebar-collapsed .public-menu-submenu.is-expanded a:focus-visible > i,
    body.public-body.portal-sidebar-collapsed .public-menu-submenu.is-expanded a.active > i,
    body.public-body.portal-sidebar-collapsed .public-menu-submenu.is-expanded a[aria-current="page"] > i,
    body.public-body.portal-sidebar-collapsed .public-menu-submenu.is-expanded a[aria-current="location"] > i {
        background: rgba(255, 255, 255, 0.16);
        color: inherit;
    }
}

@media (max-width: 991.98px) {
    .public-body {
        --public-sidebar-width: 0px;
    }

    .public-body > main#main-content {
        margin-left: 0;
        padding: 1.25rem 1rem;
    }

    .public-body .site-footer {
        margin-left: 0;
    }

    .public-shell {
        margin-left: 0;
    }

    .portal-topbar-brand {
        flex-basis: 210px;
        padding: 0 0.8rem;
    }

    .portal-sidebar-toggle {
        margin-left: 0.25rem;
    }

    .portal-topbar-actions {
        gap: 0.25rem;
    }

    .public-sidebar {
        top: 0;
        z-index: 1060;
        width: min(300px, calc(100vw - 42px));
        transform: translateX(-105%);
        visibility: hidden;
        box-shadow: 0 0 24px rgba(0, 0, 0, 0.42);
    }

    .public-sidebar.is-open {
        transform: translateX(0);
        visibility: visible;
    }

    .public-sidebar-brand {
        min-height: var(--public-topbar-height);
        padding-top: 1rem;
    }

    .public-sidebar-backdrop {
        position: fixed;
        z-index: 1055;
        inset: 0;
        display: block;
        background: rgba(8, 11, 18, 0.68);
        opacity: 0;
        pointer-events: none;
        transition: opacity var(--public-transition) ease;
    }

    .public-sidebar-backdrop.is-open {
        opacity: 1;
        pointer-events: auto;
    }

    .public-body.portal-drawer-open {
        overflow: hidden;
    }

    .public-body.portal-sidebar-collapsed {
        --public-sidebar-width: 0px;
    }

    .public-body .hero-carousel {
        margin: -1.25rem -1rem 1.25rem;
    }

    .public-body .hero-carousel .carousel-item {
        min-height: 360px;
    }

    .public-announcement {
        padding-right: 1rem;
        padding-left: 1rem;
    }
}

@media (max-width: 575.98px) {
    .portal-topbar-brand {
        flex-basis: min(56vw, 205px);
        padding: 0 0.55rem;
    }

    .portal-sidebar-toggle {
        margin-left: 0.15rem;
    }

    .portal-logo-icon {
        font-size: 1.4rem;
    }

    .portal-logo-text {
        max-width: 105px;
        font-size: 0.9rem;
    }

    .portal-logo-tag {
        font-size: 0.56rem;
    }

    .portal-topbar-btn {
        width: 36px;
        height: 36px;
    }

    .portal-topbar-join {
        min-height: 33px;
        padding: 0.3rem 0.55rem;
        font-size: 0.75rem;
    }

    .public-announcement .portal-announcement-badge {
        padding: 0.23rem 0.4rem;
        font-size: 0.62rem;
    }

    .public-announcement .portal-announcement-text {
        font-size: 0.75rem;
    }

    .public-body .hero-carousel .carousel-item {
        min-height: 320px;
    }

    .public-body .section-card {
        padding: 1rem;
    }

    .public-body .receipt-sheet {
        padding: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .public-body *,
    .public-body *::before,
    .public-body *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

@media print {
    body.public-body {
        display: block;
        min-height: 0;
        background: #FFFFFF !important;
        color: #111111 !important;
        color-scheme: light;
    }

    .portal-topbar,
    .public-sidebar,
    .portal-national-stripe,
    .public-sidebar-backdrop,
    .public-announcement,
    .portal-skip-link,
    .site-footer,
    .receipt-toolbar {
        display: none !important;
    }

    .public-shell,
    .public-body > main#main-content {
        margin: 0 !important;
        padding: 0 !important;
    }

    .public-body .receipt-sheet,
    .public-body .receipt-sheet .card {
        max-width: none;
        border: 0 !important;
        background: #FFFFFF !important;
        box-shadow: none !important;
        color: #111111 !important;
    }

    .public-body .receipt-sheet *,
    .public-body .receipt-sheet .text-dark,
    .public-body .receipt-sheet .text-secondary {
        color: #111111 !important;
    }
}

body.public-body[data-theme="light"] {
    --public-bg: #F5F7FB;
    --public-surface: #FFFFFF;
    --public-surface-raised: #F8F9FC;
    --public-surface-hover: #EEF1F7;
    --public-border: #E5E9F0;
    --public-border-soft: rgba(32, 43, 62, 0.08);
    --public-primary: #556EE6;
    --public-primary-hover: #485EC4;
    --public-primary-soft: rgba(85, 110, 230, 0.1);
    --public-success: #198754;
    --public-warning: #966000;
    --public-danger: #DC3545;
    --public-info: #0D6EFD;
    --public-text: #212529;
    --public-text-secondary: #49566B;
    --public-text-muted: #6C757D;

    color: var(--public-text);
    background: var(--public-bg);
    color-scheme: light;
}

body.public-body[data-theme="light"] a {
    color: #AEBBFF;
}

body.public-body[data-theme="light"] a:hover {
    color: #35499E;
}

body.public-body[data-theme="light"] .public-sidebar,
body.public-body[data-theme="light"] .public-sidebar-brand,
body.public-body[data-theme="light"] .portal-topbar,
body.public-body[data-theme="light"] .portal-topbar-brand {
    background: var(--public-surface);
}

body.public-body[data-theme="light"] .portal-topbar,
body.public-body[data-theme="light"] .portal-topbar-brand,
body.public-body[data-theme="light"] .public-sidebar,
body.public-body[data-theme="light"] .public-sidebar-brand {
    border-color: var(--public-border);
}

body.public-body[data-theme="light"] .portal-logo-text,
body.public-body[data-theme="light"] .public-sidebar-title {
    color: #212529;
}

body.public-body[data-theme="light"] .portal-topbar-btn,
body.public-body[data-theme="light"] .portal-topbar-contact,
body.public-body[data-theme="light"] .portal-topbar-login,
body.public-body[data-theme="light"] .public-menu-link,
body.public-body[data-theme="light"] .public-menu-category,
body.public-body[data-theme="light"] .public-sidebar-contact,
body.public-body[data-theme="light"] .public-sidebar-utility {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .portal-topbar-btn:hover,
body.public-body[data-theme="light"] .public-menu-link:hover,
body.public-body[data-theme="light"] .public-menu-category:hover,
body.public-body[data-theme="light"] .public-menu-category[aria-expanded="true"] {
    background: var(--public-surface-hover);
    color: #212529;
}

body.public-body[data-theme="light"] .public-menu-link.active,
body.public-body[data-theme="light"] .public-menu-link[aria-current="page"],
body.public-body[data-theme="light"] .public-menu-submenu a.active,
body.public-body[data-theme="light"] .public-menu-submenu a[aria-current="page"],
body.public-body[data-theme="light"] .public-menu-submenu a[aria-current="location"] {
    background: var(--public-primary);
    color: #FFFFFF;
}

body.public-body[data-theme="light"] .public-menu-title,
body.public-body[data-theme="light"] .public-sidebar-section-title,
body.public-body[data-theme="light"] .public-menu-submenu a {
    color: var(--public-text-muted);
}

body.public-body[data-theme="light"] .public-menu-submenu a:hover,
body.public-body[data-theme="light"] .public-menu-submenu a:focus-visible {
    background: var(--public-surface-hover);
    color: #212529;
}

body.public-body[data-theme="light"] .public-menu-submenu a.active,
body.public-body[data-theme="light"] .public-menu-submenu a[aria-current="page"],
body.public-body[data-theme="light"] .public-menu-submenu a[aria-current="location"] {
    color: #FFFFFF;
}

body.public-body[data-theme="light"] .public-menu-link.active > i,
body.public-body[data-theme="light"] .public-menu-link[aria-current="page"] > i,
body.public-body[data-theme="light"] .public-menu-submenu a.active > i,
body.public-body[data-theme="light"] .public-menu-submenu a[aria-current="page"] > i,
body.public-body[data-theme="light"] .public-menu-submenu a[aria-current="location"] > i {
    color: #FFFFFF;
}

body.public-body[data-theme="light"] .public-sidebar-socials a,
body.public-body[data-theme="light"] .public-sidebar-address,
body.public-body[data-theme="light"] .public-sidebar-footer,
body.public-body[data-theme="light"] .public-sidebar-brand,
body.public-body[data-theme="light"] .public-sidebar-address,
body.public-body[data-theme="light"] .public-language-switch button {
    border-color: var(--public-border);
}

body.public-body[data-theme="light"] .public-language-switch button,
body.public-body[data-theme="light"] .public-body .sidebar-menu-filter input,
body.public-body[data-theme="light"] .sidebar-menu-filter input,
body.public-body[data-theme="light"] .portal-topbar-search {
    background: var(--public-surface-raised);
    color: var(--public-text);
}

body.public-body[data-theme="light"] .sidebar-menu-filter input::placeholder,
body.public-body[data-theme="light"] .portal-topbar-search input::placeholder {
    color: var(--public-text-muted);
}

body.public-body[data-theme="light"] .public-sidebar-socials a:hover,
body.public-body[data-theme="light"] .public-language-switch button:hover,
body.public-body[data-theme="light"] .public-language-switch button.active {
    background: var(--public-primary-soft);
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .public-announcement {
    border-color: var(--public-border);
    background: #FFFFFF;
}

body.public-body[data-theme="light"] .public-announcement .portal-announcement-text {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] > main#main-content {
    background: var(--public-bg);
    color: var(--public-text);
}

body.public-body[data-theme="light"] .site-footer {
    border-color: var(--public-border);
    background: #FFFFFF;
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .site-footer h5 {
    color: #212529;
}

body.public-body[data-theme="light"] .text-dark {
    color: #212529 !important;
}

body.public-body[data-theme="light"] .text-body {
    color: var(--public-text) !important;
}

body.public-body[data-theme="light"] .text-secondary,
body.public-body[data-theme="light"] .text-body-secondary {
    color: var(--public-text-secondary) !important;
}

body.public-body[data-theme="light"] .text-muted {
    color: var(--public-text-muted) !important;
}

body.public-body[data-theme="light"] .text-primary {
    color: var(--public-primary-hover) !important;
}

body.public-body[data-theme="light"] .bg-white {
    background-color: var(--public-surface) !important;
}

body.public-body[data-theme="light"] .footer-bottom {
    border-color: var(--public-border);
    background: #F1F3F8;
    color: var(--public-text-muted);
}

body.public-body[data-theme="light"] .public-body .section-header h2,
body.public-body[data-theme="light"] .section-header h2,
body.public-body[data-theme="light"] h1,
body.public-body[data-theme="light"] h2,
body.public-body[data-theme="light"] h3,
body.public-body[data-theme="light"] h4,
body.public-body[data-theme="light"] h5,
body.public-body[data-theme="light"] h6 {
    color: #212529;
}

body.public-body[data-theme="light"] .portal-card,
body.public-body[data-theme="light"] .leader-card,
body.public-body[data-theme="light"] .doc-item,
body.public-body[data-theme="light"] .section-card,
body.public-body[data-theme="light"] .stat-card,
body.public-body[data-theme="light"] .gateway-card,
body.public-body[data-theme="light"] .membership-card,
body.public-body[data-theme="light"] .donation-card,
body.public-body[data-theme="light"] .contact-card,
body.public-body[data-theme="light"] .card,
body.public-body[data-theme="light"] .about-article,
body.public-body[data-theme="light"] .about-side-card,
body.public-body[data-theme="light"] .about-contact-link {
    border-color: var(--public-border);
    background: #FFFFFF;
    color: var(--public-text-secondary);
    box-shadow: 0 0.25rem 0.75rem rgba(32, 43, 62, 0.06);
}

body.public-body[data-theme="light"] .portal-card h5 a,
body.public-body[data-theme="light"] .doc-item h6 a,
body.public-body[data-theme="light"] .portal-card .text-dark {
    color: #212529 !important;
}

body.public-body[data-theme="light"] .portal-card .p-3.bg-light,
body.public-body[data-theme="light"] .portal-badge-saffron,
body.public-body[data-theme="light"] .portal-badge-navy {
    background: #F4F6FA !important;
    color: #49566B;
}

body.public-body[data-theme="light"] .leader-avatar-placeholder {
    background: linear-gradient(135deg, #EEF1FF, #E2E7FF);
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .hero-carousel .carousel-item,
body.public-body[data-theme="light"] .membership-hero,
body.public-body[data-theme="light"] .donation-hero {
    background: linear-gradient(135deg, #FFFFFF, #F0F3FA);
    color: var(--public-text);
}

body.public-body[data-theme="light"] .hero-overlay {
    background: linear-gradient(90deg, rgba(20, 29, 48, 0.88), rgba(20, 29, 48, 0.66) 58%, rgba(20, 29, 48, 0.25));
}

body.public-body[data-theme="light"] .section-header-modern,
body.public-body[data-theme="light"] .about-article-heading,
body.public-body[data-theme="light"] .about-side-card-heading {
    border-color: var(--public-border);
}

body.public-body[data-theme="light"] .section-header-modern h5,
body.public-body[data-theme="light"] .about-article-heading h2,
body.public-body[data-theme="light"] .about-side-card-heading h2,
body.public-body[data-theme="light"] .about-join-card h2 {
    color: #212529;
}

body.public-body[data-theme="light"] .section-header-modern .section-subtext,
body.public-body[data-theme="light"] .pledge-item,
body.public-body[data-theme="light"] .about-content-body,
body.public-body[data-theme="light"] .about-content-body p,
body.public-body[data-theme="light"] .about-content-body li {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .pledge-box,
body.public-body[data-theme="light"] .declaration-card {
    border-color: var(--public-border);
    background: #F8F9FC;
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .form-control,
body.public-body[data-theme="light"] .form-select,
body.public-body[data-theme="light"] .input-group-text,
body.public-body[data-theme="light"] textarea,
body.public-body[data-theme="light"] .membership-form .form-control,
body.public-body[data-theme="light"] .membership-form .form-select,
body.public-body[data-theme="light"] .donation-form .form-control,
body.public-body[data-theme="light"] .donation-form .form-select {
    border-color: #D7DDE8;
    background-color: #FFFFFF;
    color: #212529;
}

body.public-body[data-theme="light"] .form-control::placeholder,
body.public-body[data-theme="light"] textarea::placeholder {
    color: #7B8190;
}

body.public-body[data-theme="light"] .membership-form .input-group-text,
body.public-body[data-theme="light"] .donation-form .input-group-text,
body.public-body[data-theme="light"] .contact-card .input-group-text {
    background: #F8F9FC;
    color: #6C757D;
}

body.public-body[data-theme="light"] .table {
    --bs-table-color: #49566B;
    --bs-table-bg: #FFFFFF;
    --bs-table-border-color: #E5E9F0;
    --bs-table-striped-bg: #F7F8FB;
    --bs-table-striped-color: #49566B;
    --bs-table-hover-bg: #F0F3FA;
    --bs-table-hover-color: #212529;
}

body.public-body[data-theme="light"] .table-light,
body.public-body[data-theme="light"] .table-light > th,
body.public-body[data-theme="light"] .table-light > td {
    --bs-table-color: #49566B;
    --bs-table-bg: #F4F6FA;
}

body.public-body[data-theme="light"] .list-group-item {
    border-color: var(--public-border);
    background: #FFFFFF;
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .dropdown-menu,
body.public-body[data-theme="light"] .modal-content {
    border-color: var(--public-border);
    background: #FFFFFF;
    color: #212529;
}

body.public-body[data-theme="light"] .dropdown-item {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .dropdown-item:hover,
body.public-body[data-theme="light"] .dropdown-item:focus,
body.public-body[data-theme="light"] .dropdown-item.active {
    background: var(--public-primary-soft);
    color: #35499E;
}

body.public-body[data-theme="light"] .modal-header,
body.public-body[data-theme="light"] .modal-footer {
    border-color: var(--public-border);
}

body.public-body[data-theme="light"] .modal-header .btn-close {
    filter: none;
}

body.public-body[data-theme="light"] .alert {
    color: #263248;
}

body.public-body[data-theme="light"] .about-hero {
    background: linear-gradient(125deg, #FFFFFF 0%, #F2F5FC 58%, #E8EDFC 100%);
}

body.public-body[data-theme="light"] .about-hero h1 {
    color: #20283A;
}

body.public-body[data-theme="light"] .about-hero-caption,
body.public-body[data-theme="light"] .about-breadcrumb,
body.public-body[data-theme="light"] .about-breadcrumb a {
    color: #5D6679;
}

body.public-body[data-theme="light"] .about-content-body blockquote {
    background: #F5F7FC;
}

body.public-body[data-theme="light"] .about-heritage-links a {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .about-heritage-links a:hover {
    background: #F4F6FB;
    color: #35499E;
}

body.public-body[data-theme="light"] .about-heritage-links a.active {
    background: var(--public-primary-soft);
    color: #35499E;
}

body.public-body[data-theme="light"] .about-contact-link small,
body.public-body[data-theme="light"] .about-join-card p {
    color: var(--public-text-muted);
}

.about-page-container {
    width: min(100% - 3rem, 1200px);
    margin-inline: auto;
}

.about-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(1.75rem, 4vw, 3.25rem) 0 clamp(2.5rem, 5vw, 4rem);
    border-bottom: 1px solid var(--public-border);
    background: linear-gradient(125deg, #252B3A 0%, #2A3042 58%, #343B50 100%);
}

.about-hero .about-page-container {
    position: relative;
    z-index: 1;
}

.about-hero-glow {
    position: absolute;
    top: -13rem;
    right: -7rem;
    width: 34rem;
    height: 34rem;
    border: 1px solid rgba(130, 148, 240, 0.12);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(85, 110, 230, 0.16), transparent 68%);
    pointer-events: none;
}

.about-breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: #A6B0CF;
    font-size: 0.8rem;
}

.about-breadcrumb a {
    color: #A6B0CF;
    text-decoration: none;
}

.about-breadcrumb a:hover {
    color: #FFFFFF;
}

.about-breadcrumb > i {
    color: var(--public-text-muted);
    font-size: 0.65rem;
}

.about-breadcrumb [aria-current="page"] {
    overflow: hidden;
    max-width: min(55vw, 28rem);
    color: var(--public-text);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.about-hero-copy {
    max-width: 760px;
}

.about-eyebrow,
.about-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: #9BACFF;
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.about-eyebrow {
    padding: 0.4rem 0.65rem;
    border: 1px solid rgba(130, 148, 240, 0.28);
    border-radius: 2rem;
    background: rgba(85, 110, 230, 0.1);
}

.about-hero h1 {
    margin: 1rem 0 0;
    color: #FFFFFF;
    font-size: clamp(2.2rem, 5vw, 4rem);
    font-weight: 780;
    letter-spacing: -0.045em;
    line-height: 1.08;
    overflow-wrap: anywhere;
}

.about-hindi-title {
    margin: 0.8rem 0 0;
    color: var(--public-warning);
    font-size: clamp(1.05rem, 2vw, 1.3rem);
    font-weight: 600;
}

.about-hero-rule {
    display: flex;
    width: 84px;
    height: 3px;
    margin: 1.25rem 0 0.75rem;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.12);
}

.about-hero-rule span {
    width: 45px;
    border-radius: inherit;
    background: var(--public-primary);
}

.about-hero-caption {
    max-width: 42rem;
    margin: 0;
    color: #C0C7D7;
    font-size: clamp(0.9rem, 1.4vw, 1rem);
    line-height: 1.7;
}

.about-hero-emblem {
    position: absolute;
    right: 3rem;
    bottom: 1.25rem;
    display: grid;
    width: clamp(100px, 16vw, 180px);
    aspect-ratio: 1;
    place-items: center;
    border: 1px solid rgba(241, 180, 76, 0.2);
    border-radius: 50%;
    background: rgba(241, 180, 76, 0.045);
    color: rgba(241, 180, 76, 0.42);
    font-size: clamp(3.2rem, 7vw, 5.5rem);
}

.about-page-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 320px);
    align-items: start;
    gap: clamp(1.25rem, 3vw, 2.25rem);
    padding-block: clamp(1.5rem, 4vw, 3rem) clamp(2.5rem, 5vw, 4rem);
}

.about-article,
.about-side-card,
.about-contact-link {
    border: 1px solid var(--public-border);
    border-radius: 0.8rem;
    background: var(--public-surface);
    box-shadow: 0 0.4rem 1.25rem rgba(0, 0, 0, 0.12);
}

.about-article {
    min-width: 0;
    padding: clamp(1.25rem, 3vw, 2.25rem);
}

.about-article-heading {
    padding-bottom: 1.1rem;
    margin-bottom: 1.35rem;
    border-bottom: 1px solid var(--public-border);
}

.about-article-heading h2 {
    margin: 0.35rem 0 0;
    color: var(--public-text);
    font-size: clamp(1.35rem, 2.6vw, 1.8rem);
    font-weight: 720;
    letter-spacing: -0.025em;
    overflow-wrap: anywhere;
}

.about-content-body {
    color: var(--public-text-secondary);
    font-size: clamp(0.96rem, 1.25vw, 1.04rem);
    line-height: 1.85;
    overflow-wrap: anywhere;
}

.about-content-body > :first-child {
    margin-top: 0;
}

.about-content-body > :last-child {
    margin-bottom: 0;
}

.about-content-body h1,
.about-content-body h2,
.about-content-body h3,
.about-content-body h4,
.about-content-body h5,
.about-content-body h6 {
    margin: 1.8em 0 0.65em;
    color: var(--public-text);
    font-weight: 700;
    line-height: 1.3;
}

.about-content-body h1 {
    font-size: 1.8rem;
}

.about-content-body h2 {
    font-size: 1.55rem;
}

.about-content-body h3 {
    font-size: 1.28rem;
}

.about-content-body p,
.about-content-body li {
    color: var(--public-text-secondary);
}

.about-content-body img,
.about-content-body video,
.about-content-body iframe {
    max-width: 100%;
}

.about-content-body img {
    height: auto;
    border-radius: 0.55rem;
}

.about-content-body figure {
    max-width: 100%;
    margin: 1.5rem 0;
}

.about-content-body blockquote {
    padding: 1rem 1.25rem;
    margin: 1.5rem 0;
    border-left: 3px solid var(--public-primary);
    border-radius: 0 0.45rem 0.45rem 0;
    background: var(--public-surface-raised);
    color: var(--public-text);
}

.about-content-body table {
    display: block;
    width: 100%;
    overflow-x: auto;
    border-color: var(--public-border);
}

.about-content-body a {
    color: #9BACFF;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.about-sidebar {
    position: sticky;
    top: calc(var(--public-topbar-height) + 1.25rem);
    display: grid;
    gap: 1rem;
}

.about-side-card {
    padding: 1.1rem;
}

.about-side-card-heading {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding-bottom: 0.9rem;
    margin-bottom: 0.65rem;
    border-bottom: 1px solid var(--public-border);
}

.about-side-icon,
.about-join-icon {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--public-border);
    border-radius: 0.6rem;
    background: var(--public-primary-soft);
    color: #9BACFF;
}

.about-side-card-heading h2 {
    margin: 0.15rem 0 0;
    color: var(--public-text);
    font-size: 1rem;
    font-weight: 700;
}

.about-side-card-heading .about-section-kicker {
    font-size: 0.62rem;
}

.about-heritage-links {
    display: grid;
    gap: 0.25rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.about-heritage-links a {
    display: flex;
    min-height: 42px;
    align-items: center;
    gap: 0.65rem;
    padding: 0.55rem 0.6rem;
    border-radius: 0.45rem;
    color: var(--public-text-secondary);
    font-size: 0.82rem;
    line-height: 1.35;
    text-decoration: none;
}

.about-heritage-links a > i:first-child {
    flex: 0 0 auto;
    color: var(--public-text-muted);
}

.about-heritage-links a > span {
    flex: 1 1 auto;
}

.about-heritage-links a:hover {
    background: var(--public-surface-hover);
    color: var(--public-text);
}

.about-heritage-links a.active {
    background: var(--public-primary-soft);
    color: #B5C0FF;
    font-weight: 650;
}

.about-heritage-links a.active > i:first-child {
    color: var(--public-primary);
}

.about-link-arrow {
    flex: 0 0 auto;
    color: var(--public-text-muted);
    font-size: 0.75rem;
}

.about-join-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 1.35rem;
    background: linear-gradient(145deg, #303850, #292F40);
}

.about-join-icon {
    margin-bottom: 1rem;
    border-color: rgba(241, 180, 76, 0.25);
    background: rgba(241, 180, 76, 0.1);
    color: var(--public-warning);
    font-size: 1.1rem;
}

.about-join-card .about-section-kicker {
    font-size: 0.65rem;
}

.about-join-card h2 {
    margin: 0.45rem 0;
    color: var(--public-text);
    font-size: 1.15rem;
    font-weight: 700;
}

.about-join-card p {
    margin: 0 0 1rem;
    color: var(--public-text-secondary);
    font-size: 0.84rem;
    line-height: 1.6;
}

.about-join-button {
    display: flex;
    width: 100%;
    min-height: 42px;
    align-items: center;
    justify-content: space-between;
    padding: 0.65rem 0.8rem;
    border: 1px solid var(--public-primary);
    border-radius: 0.45rem;
    background: var(--public-primary);
    color: #FFFFFF !important;
    font-size: 0.82rem;
    font-weight: 650;
    text-decoration: none;
}

.about-join-button:hover {
    border-color: var(--public-primary-hover);
    background: var(--public-primary-hover);
}

.about-contact-link {
    display: flex;
    min-height: 62px;
    align-items: center;
    gap: 0.7rem;
    padding: 0.75rem 0.9rem;
    color: var(--public-text);
    text-decoration: none;
}

.about-contact-link > i:first-child {
    color: var(--public-info);
    font-size: 1.1rem;
}

.about-contact-link span {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.about-contact-link strong {
    color: var(--public-text);
    font-size: 0.8rem;
}

.about-contact-link small {
    color: var(--public-text-muted);
    font-size: 0.72rem;
}

.about-contact-link:hover {
    border-color: var(--public-primary);
    color: var(--public-primary);
}

.about-empty-state {
    display: grid;
    min-height: 260px;
    align-content: center;
    justify-items: start;
    padding: 1rem 0;
}

.about-empty-icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    margin-bottom: 0.9rem;
    border: 1px solid var(--public-border);
    border-radius: 0.7rem;
    background: var(--public-primary-soft);
    color: #9BACFF;
    font-size: 1.35rem;
}

.about-empty-state h3 {
    margin: 0 0 0.4rem;
    color: var(--public-text);
    font-size: 1.1rem;
}

.about-empty-state p {
    max-width: 36rem;
    color: var(--public-text-secondary);
    line-height: 1.65;
}

.about-inline-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 650;
    text-decoration: none;
}

@media (max-width: 991.98px) {
    .about-page-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .about-sidebar {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-heritage-card {
        grid-row: span 2;
    }

    .about-hero-emblem {
        right: 1.5rem;
        bottom: 0.75rem;
    }
}

@media (max-width: 575.98px) {
    .about-page-container {
        width: min(100% - 2rem, 1200px);
    }

    .about-sidebar {
        grid-template-columns: minmax(0, 1fr);
    }

    .about-heritage-card {
        grid-row: auto;
    }

    .about-hero {
        padding-block: 1.5rem 2rem;
    }

    .about-hero-emblem {
        right: -1.5rem;
        bottom: 0.25rem;
        width: 100px;
        opacity: 0.55;
    }

    .about-article {
        padding: 1.1rem;
    }
}

.leadership-page,
.leader-profile-page {
    --leadership-accent: #F1B44C;
    --leadership-hero: #1D2333;
    --leadership-soft: rgba(85, 110, 230, 0.12);
    color: var(--public-text);
}

.leadership-container {
    width: min(100%, 1200px);
    margin-inline: auto;
}

.leadership-hero,
.leader-profile-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin: -1.75rem -1.5rem 0;
    padding: 1.5rem 2rem 4rem;
    background:
        radial-gradient(ellipse at 82% 18%, rgba(85, 110, 230, 0.23), transparent 34rem),
        linear-gradient(135deg, var(--leadership-hero), #252D40 60%, #20283A);
    color: #FFFFFF;
}

.leadership-hero-orb,
.leader-profile-hero-orb {
    position: absolute;
    z-index: -1;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 50%;
    pointer-events: none;
}

.leadership-hero-orb-one {
    top: -12rem;
    right: 7%;
    width: 35rem;
    height: 35rem;
    box-shadow: 0 0 0 3rem rgba(255, 255, 255, 0.018), 0 0 0 6rem rgba(255, 255, 255, 0.014);
}

.leadership-hero-orb-two {
    right: 34%;
    bottom: -19rem;
    width: 25rem;
    height: 25rem;
    border-color: rgba(241, 180, 76, 0.12);
}

.leadership-hero-content,
.leader-profile-hero-content {
    position: relative;
    z-index: 1;
}

.leadership-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
    color: rgba(255, 255, 255, 0.64);
    font-size: 0.82rem;
}

.leadership-breadcrumb a {
    color: rgba(255, 255, 255, 0.72);
    text-decoration: none;
}

.leadership-breadcrumb a:hover {
    color: #FFFFFF;
}

.leadership-breadcrumb > i {
    color: var(--leadership-accent);
    font-size: 0.65rem;
}

.leadership-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.55fr);
    align-items: end;
    gap: 3rem;
    padding-top: clamp(3.2rem, 8vw, 6.5rem);
}

.leadership-hero-copy {
    max-width: 700px;
}

.leadership-eyebrow,
.leadership-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: var(--leadership-accent);
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.leadership-hero h1 {
    margin: 1rem 0;
    color: #FFFFFF;
    font-size: clamp(2.7rem, 6vw, 5rem);
    font-weight: 780;
    letter-spacing: -0.06em;
    line-height: 0.99;
}

.leadership-hero h1 span {
    color: #AEBBFF;
}

.leadership-hero-copy > p {
    max-width: 590px;
    margin: 1.25rem 0 1.8rem;
    color: rgba(255, 255, 255, 0.7);
    font-size: clamp(1rem, 1.6vw, 1.15rem);
    line-height: 1.75;
}

.leadership-hero-link {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    padding: 0.78rem 1rem;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 0.65rem;
    color: #FFFFFF;
    font-size: 0.88rem;
    font-weight: 650;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.leadership-hero-link:hover {
    transform: translateY(-2px);
    border-color: rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.08);
    color: #FFFFFF;
}

.leadership-hero-link i {
    color: var(--leadership-accent);
}

.leadership-hero-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}

.leadership-stat {
    display: flex;
    min-height: 150px;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1.15rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 0.9rem;
    background: rgba(255, 255, 255, 0.055);
    backdrop-filter: blur(12px);
}

.leadership-stat-icon {
    display: grid;
    width: 2.3rem;
    height: 2.3rem;
    margin-bottom: auto;
    place-items: center;
    border: 1px solid rgba(241, 180, 76, 0.3);
    border-radius: 0.7rem;
    color: var(--leadership-accent);
}

.leadership-stat strong {
    margin-top: 1.2rem;
    color: #FFFFFF;
    font-size: 1.8rem;
    font-weight: 750;
    line-height: 1;
}

.leadership-stat > span:last-child {
    margin-top: 0.4rem;
    color: rgba(255, 255, 255, 0.65);
    font-size: 0.76rem;
}

.leadership-content {
    padding: 1.7rem 0 4rem;
}

.leadership-section-nav {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: -3.1rem 0 3.5rem;
}

.leadership-section-nav a {
    display: inline-flex;
    min-height: 3.5rem;
    align-items: center;
    gap: 0.75rem;
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--public-border);
    border-radius: 0.75rem;
    background: var(--public-surface);
    color: var(--public-text);
    font-size: 0.85rem;
    font-weight: 650;
    text-decoration: none;
    box-shadow: 0 0.6rem 1.5rem rgba(0, 0, 0, 0.14);
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.leadership-section-nav a:hover {
    transform: translateY(-2px);
    border-color: var(--public-primary);
}

.leadership-section-nav a > i {
    color: var(--leadership-accent);
}

.leadership-nav-count {
    display: grid;
    min-width: 1.6rem;
    height: 1.6rem;
    place-items: center;
    padding-inline: 0.35rem;
    border-radius: 999px;
    background: var(--leadership-soft);
    color: #AEBBFF;
    font-size: 0.72rem;
}

.leadership-section {
    scroll-margin-top: 2rem;
    margin-top: 3.5rem;
}

.leadership-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.4rem;
}

.leadership-section-heading h2,
.leader-content-heading h2 {
    margin: 0.45rem 0 0;
    color: var(--public-text);
    font-size: clamp(1.65rem, 3vw, 2.2rem);
    font-weight: 740;
    letter-spacing: -0.04em;
}

.leadership-section-heading p {
    margin: 0.55rem 0 0;
    color: var(--public-text-secondary);
    font-size: 0.93rem;
}

.leadership-section-index {
    flex: 0 0 auto;
    padding-bottom: 0.2rem;
    color: var(--public-text);
    font-size: 0.86rem;
    font-weight: 700;
}

.leadership-section-index span {
    padding-inline: 0.25rem;
    color: var(--public-text-muted);
}

.leadership-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.1rem;
}

.leadership-card {
    overflow: hidden;
    border: 1px solid var(--public-border);
    border-radius: 0.9rem;
    background: var(--public-surface);
    box-shadow: 0 0.3rem 1rem rgba(0, 0, 0, 0.12);
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.leadership-card:hover {
    transform: translateY(-4px);
    border-color: rgba(85, 110, 230, 0.7);
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.2);
}

.leadership-card-main {
    display: block;
    color: inherit;
    text-decoration: none;
}

.leadership-card-main:focus-visible {
    outline-offset: -3px;
}

.leadership-card-portrait {
    position: relative;
    display: grid;
    height: 230px;
    overflow: hidden;
    place-items: center;
    background:
        radial-gradient(circle at 72% 15%, rgba(85, 110, 230, 0.27), transparent 45%),
        linear-gradient(145deg, #343D56, #262D3E);
}

.leadership-card-portrait::after {
    position: absolute;
    inset: 45% 0 0;
    background: linear-gradient(transparent, rgba(20, 25, 38, 0.18));
    content: "";
    pointer-events: none;
}

.leadership-card-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 32%;
    transition: transform 0.45s ease;
}

.leadership-card:hover .leadership-card-portrait img {
    transform: scale(1.035);
}

.leadership-avatar-fallback {
    display: grid;
    width: 6rem;
    height: 6rem;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    color: #C4CCFF;
    font-size: 2.6rem;
}

.leadership-card-arrow {
    position: absolute;
    z-index: 1;
    right: 0.85rem;
    bottom: 0.85rem;
    display: grid;
    width: 2.25rem;
    height: 2.25rem;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 50%;
    background: rgba(29, 35, 51, 0.64);
    color: #FFFFFF;
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.leadership-card:hover .leadership-card-arrow {
    transform: translate(2px, -2px);
    background: var(--public-primary);
}

.leadership-card-info {
    padding: 1.25rem 1.25rem 1.15rem;
}

.leadership-card-category {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--public-text-muted);
    font-size: 0.69rem;
    font-weight: 720;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.leadership-card-category i {
    color: var(--leadership-accent);
}

.leadership-card-info h3 {
    margin: 0.7rem 0 0.2rem;
    color: var(--public-text);
    font-size: 1.16rem;
    font-weight: 720;
    letter-spacing: -0.025em;
}

.leadership-card-native {
    margin: 0 0 0.55rem;
    color: var(--public-text-secondary);
    font-size: 0.9rem;
}

.leadership-card-role {
    display: inline-block;
    margin-top: 0.4rem;
    padding: 0.28rem 0.55rem;
    border: 1px solid rgba(85, 110, 230, 0.22);
    border-radius: 999px;
    background: var(--leadership-soft);
    color: #AEBBFF;
    font-size: 0.73rem;
    font-weight: 650;
}

.leadership-card-summary {
    display: -webkit-box;
    overflow: hidden;
    margin: 0.8rem 0 0;
    color: var(--public-text-secondary);
    font-size: 0.84rem;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.leadership-card-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0.85rem 1.25rem;
    border-top: 1px solid var(--public-border);
    color: var(--public-text);
    font-size: 0.8rem;
    font-weight: 680;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.leadership-card-action i {
    color: var(--public-primary);
    transition: transform 0.2s ease;
}

.leadership-card-action:hover {
    background: var(--leadership-soft);
    color: var(--public-text);
}

.leadership-card-action:hover i {
    transform: translateX(3px);
}

.leadership-empty {
    padding: 4rem 1rem;
    border: 1px dashed var(--public-border);
    border-radius: 1rem;
    text-align: center;
}

.leadership-empty > span {
    display: grid;
    width: 3.5rem;
    height: 3.5rem;
    margin: 0 auto 1rem;
    place-items: center;
    border-radius: 1rem;
    background: var(--leadership-soft);
    color: var(--public-primary);
    font-size: 1.5rem;
}

.leadership-empty h2 {
    color: var(--public-text);
    font-size: 1.3rem;
    font-weight: 700;
}

.leadership-empty p {
    margin: 0.5rem 0 0;
    color: var(--public-text-secondary);
}

.leader-profile-hero {
    padding-bottom: 4.5rem;
}

.leader-profile-hero-orb {
    top: -19rem;
    right: 9%;
    width: 39rem;
    height: 39rem;
    box-shadow: 0 0 0 3rem rgba(255, 255, 255, 0.018), 0 0 0 6rem rgba(255, 255, 255, 0.014);
}

.leader-profile-intro {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    align-items: center;
    gap: clamp(1.8rem, 5vw, 4rem);
    padding-top: clamp(2.8rem, 6vw, 4.5rem);
}

.leader-profile-photo-wrap {
    position: relative;
    width: 220px;
    padding: 0.55rem;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 1.2rem;
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.22);
}

.leader-profile-photo,
.leader-profile-photo-fallback {
    display: grid;
    width: 100%;
    aspect-ratio: 1;
    place-items: center;
    border-radius: 0.85rem;
    background: linear-gradient(145deg, #3B4561, #252D40);
    color: #C4CCFF;
    font-size: 4rem;
    object-fit: cover;
    object-position: center 30%;
}

.leader-profile-status {
    position: absolute;
    right: 50%;
    bottom: -0.8rem;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.7rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    background: #242D3F;
    color: #D8E9E1;
    font-size: 0.68rem;
    font-weight: 650;
    white-space: nowrap;
    transform: translateX(50%);
}

.leader-profile-status i,
.leader-fact-status i {
    color: #34C38F;
}

.leader-profile-heading h1 {
    margin: 0.9rem 0 0.15rem;
    color: #FFFFFF;
    font-size: clamp(2.4rem, 5vw, 4.35rem);
    font-weight: 780;
    letter-spacing: -0.055em;
    line-height: 1.05;
}

.leader-profile-native {
    margin: 0.3rem 0 0;
    color: #C3CBF2;
    font-size: 1.12rem;
}

.leader-profile-designation {
    margin: 0.9rem 0 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 1.1rem;
    font-weight: 550;
}

.leader-profile-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.35rem;
}

.leader-profile-meta > span,
.leader-profile-meta > a {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 0.55rem;
    background: rgba(255, 255, 255, 0.045);
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.78rem;
    text-decoration: none;
}

.leader-profile-meta i {
    color: var(--leadership-accent);
}

.leader-profile-meta > a:hover {
    border-color: rgba(255, 255, 255, 0.42);
    color: #FFFFFF;
}

.leader-profile-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    align-items: start;
    gap: 1.3rem;
    padding-top: 2rem;
    padding-bottom: 4rem;
}

.leader-profile-main {
    display: grid;
    min-width: 0;
    gap: 1.2rem;
}

.leader-quote-card,
.leader-content-card,
.leader-facts-card,
.leader-profile-cta {
    margin: 0;
    border: 1px solid var(--public-border);
    border-radius: 0.9rem;
    background: var(--public-surface);
    box-shadow: 0 0.35rem 1.15rem rgba(0, 0, 0, 0.12);
}

.leader-quote-card {
    overflow: hidden;
    padding: clamp(1.3rem, 4vw, 2rem);
    border-left: 3px solid var(--leadership-accent);
    background:
        radial-gradient(circle at 100% 0, rgba(85, 110, 230, 0.12), transparent 18rem),
        var(--public-surface);
}

.leader-quote-mark {
    display: inline-flex;
    color: var(--leadership-accent);
    font-size: 2rem;
}

.leader-quote-card blockquote {
    margin: 0.25rem 0 1.1rem;
    color: var(--public-text);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.2rem, 2.4vw, 1.7rem);
    font-style: italic;
    line-height: 1.55;
}

.leader-quote-card figcaption {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    color: var(--public-text-muted);
    font-size: 0.77rem;
}

.leader-quote-card figcaption span {
    width: 1.5rem;
    height: 1px;
    background: var(--public-primary);
}

.leader-content-card,
.leader-facts-card {
    padding: clamp(1.3rem, 3vw, 1.8rem);
}

.leader-content-heading {
    margin-bottom: 1.3rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--public-border);
}

.leader-content-heading h2 {
    font-size: clamp(1.4rem, 2.5vw, 1.8rem);
}

.leader-bio {
    color: var(--public-text-secondary);
    font-size: 0.96rem;
    line-height: 1.85;
    overflow-wrap: anywhere;
}

.leader-bio > :last-child {
    margin-bottom: 0;
}

.leader-bio h2,
.leader-bio h3,
.leader-bio h4,
.leader-bio strong {
    color: var(--public-text);
}

.leader-bio a {
    color: var(--public-primary);
}

.leader-speeches-section {
    padding-top: 0.5rem;
}

.leader-speech-list {
    display: grid;
    gap: 0.7rem;
}

.leader-speech-card {
    display: grid;
    grid-template-columns: 2.7rem minmax(0, 1fr) 2rem;
    align-items: start;
    gap: 0.85rem;
    padding: 1rem;
    border: 1px solid var(--public-border);
    border-radius: 0.8rem;
    background: var(--public-surface);
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.leader-speech-card:hover {
    transform: translateY(-2px);
    border-color: rgba(85, 110, 230, 0.65);
}

.leader-speech-icon {
    display: grid;
    width: 2.7rem;
    height: 2.7rem;
    place-items: center;
    border-radius: 0.75rem;
    background: var(--leadership-soft);
    color: var(--public-primary);
    font-size: 1.1rem;
}

.leader-speech-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    color: var(--public-text-muted);
    font-size: 0.72rem;
}

.leader-speech-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.leader-speech-content h3 {
    margin: 0.45rem 0 0.3rem;
    font-size: 1rem;
    font-weight: 680;
}

.leader-speech-content h3 a {
    color: var(--public-text);
    text-decoration: none;
}

.leader-speech-content h3 a:hover {
    color: #AEBBFF;
}

.leader-speech-content > p {
    margin: 0;
    color: var(--public-text-secondary);
    font-size: 0.82rem;
    line-height: 1.6;
}

.leader-speech-link {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius: 50%;
    color: var(--public-text-muted);
    text-decoration: none;
}

.leader-speech-link:hover {
    background: var(--leadership-soft);
    color: var(--public-primary);
}

.leader-profile-aside {
    position: sticky;
    top: 1rem;
    display: grid;
    gap: 0.9rem;
}

.leader-facts-icon,
.leader-cta-icon {
    display: grid;
    width: 2.8rem;
    height: 2.8rem;
    margin-bottom: 1rem;
    place-items: center;
    border: 1px solid rgba(85, 110, 230, 0.2);
    border-radius: 0.8rem;
    background: var(--leadership-soft);
    color: var(--public-primary);
    font-size: 1.2rem;
}

.leader-facts-card h2,
.leader-profile-cta h2 {
    margin: 0.45rem 0 1rem;
    color: var(--public-text);
    font-size: 1.25rem;
    font-weight: 720;
}

.leader-facts-card dl {
    display: grid;
    gap: 0;
    margin: 0;
}

.leader-facts-card dl > div {
    padding: 0.8rem 0;
    border-top: 1px solid var(--public-border);
}

.leader-facts-card dt {
    margin-bottom: 0.3rem;
    color: var(--public-text-muted);
    font-size: 0.72rem;
    font-weight: 650;
}

.leader-facts-card dd {
    margin: 0;
    color: var(--public-text);
    font-size: 0.87rem;
    font-weight: 580;
}

.leader-fact-status {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.leader-profile-cta {
    padding: 1.3rem;
    background:
        radial-gradient(circle at 100% 0, rgba(85, 110, 230, 0.18), transparent 14rem),
        var(--public-surface);
}

.leader-profile-cta .leader-cta-icon {
    border-color: rgba(241, 180, 76, 0.22);
    background: rgba(241, 180, 76, 0.1);
    color: var(--leadership-accent);
}

.leader-profile-cta h2 {
    margin-bottom: 0.5rem;
}

.leader-profile-cta p {
    margin: 0 0 1rem;
    color: var(--public-text-secondary);
    font-size: 0.83rem;
    line-height: 1.65;
}

.leader-profile-cta > a {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    color: #AEBBFF;
    font-size: 0.8rem;
    font-weight: 680;
    text-decoration: none;
}

.leader-profile-cta > a:hover {
    color: var(--public-text);
}

.leader-back-link {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.8rem 0.9rem;
    border: 1px solid var(--public-border);
    border-radius: 0.7rem;
    color: var(--public-text-secondary);
    font-size: 0.78rem;
    font-weight: 620;
    text-decoration: none;
    transition: border-color 0.2s ease, color 0.2s ease;
}

.leader-back-link:hover {
    border-color: var(--public-primary);
    color: var(--public-text);
}

body.public-body[data-theme="light"] .leadership-section-nav a,
body.public-body[data-theme="light"] .leadership-card,
body.public-body[data-theme="light"] .leader-content-card,
body.public-body[data-theme="light"] .leader-facts-card,
body.public-body[data-theme="light"] .leader-profile-cta,
body.public-body[data-theme="light"] .leader-quote-card,
body.public-body[data-theme="light"] .leader-speech-card {
    background-color: #FFFFFF;
    box-shadow: 0 0.35rem 1.15rem rgba(32, 43, 62, 0.06);
}

body.public-body[data-theme="light"] .leadership-page,
body.public-body[data-theme="light"] .leader-profile-page {
    --leadership-accent: #8A5A00;
    --leadership-soft: rgba(85, 110, 230, 0.09);
}

body.public-body[data-theme="light"] .leadership-hero,
body.public-body[data-theme="light"] .leader-profile-hero {
    background:
        radial-gradient(ellipse at 82% 18%, rgba(85, 110, 230, 0.13), transparent 34rem),
        linear-gradient(135deg, #FFFFFF, #F0F3FB 62%, #E9EDF8);
    color: var(--public-text);
}

body.public-body[data-theme="light"] .leadership-hero-orb,
body.public-body[data-theme="light"] .leader-profile-hero-orb {
    border-color: rgba(72, 94, 196, 0.12);
}

body.public-body[data-theme="light"] .leadership-hero-orb-two {
    border-color: rgba(138, 90, 0, 0.14);
}

body.public-body[data-theme="light"] .leadership-breadcrumb,
body.public-body[data-theme="light"] .leadership-breadcrumb a {
    color: var(--public-text-muted);
}

body.public-body[data-theme="light"] .leadership-breadcrumb a:hover {
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .leadership-hero h1,
body.public-body[data-theme="light"] .leader-profile-heading h1 {
    color: var(--public-text);
}

body.public-body[data-theme="light"] .leadership-hero h1 span {
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .leadership-hero-copy > p,
body.public-body[data-theme="light"] .leader-profile-designation {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .leadership-hero-link {
    border-color: var(--public-border);
    color: var(--public-text);
}

body.public-body[data-theme="light"] .leadership-hero-link:hover {
    border-color: var(--public-primary);
    background: var(--public-primary-soft);
    color: var(--public-text);
}

body.public-body[data-theme="light"] .leadership-stat {
    border-color: rgba(32, 43, 62, 0.1);
    background: rgba(255, 255, 255, 0.8);
    box-shadow: 0 0.5rem 1.5rem rgba(32, 43, 62, 0.05);
}

body.public-body[data-theme="light"] .leadership-stat-icon {
    border-color: rgba(138, 90, 0, 0.2);
}

body.public-body[data-theme="light"] .leadership-stat strong,
body.public-body[data-theme="light"] .leadership-section-index {
    color: var(--public-text);
}

body.public-body[data-theme="light"] .leadership-stat > span:last-child {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .leadership-card-role,
body.public-body[data-theme="light"] .leadership-nav-count {
    color: #485EC4;
}

body.public-body[data-theme="light"] .leadership-card-portrait {
    background:
        radial-gradient(circle at 72% 15%, rgba(85, 110, 230, 0.17), transparent 45%),
        linear-gradient(145deg, #E9EDFA, #DCE2F4);
}

body.public-body[data-theme="light"] .leadership-avatar-fallback,
body.public-body[data-theme="light"] .leader-profile-photo-fallback {
    border-color: rgba(72, 94, 196, 0.18);
    background: rgba(72, 94, 196, 0.08);
    color: #485EC4;
}

body.public-body[data-theme="light"] .leader-profile-photo-wrap {
    border-color: rgba(32, 43, 62, 0.12);
    background: rgba(255, 255, 255, 0.75);
    box-shadow: 0 1.5rem 3rem rgba(32, 43, 62, 0.12);
}

body.public-body[data-theme="light"] .leader-profile-photo {
    background: #E9EDFA;
}

body.public-body[data-theme="light"] .leader-profile-status {
    border-color: var(--public-border);
    background: #FFFFFF;
    color: #286343;
    box-shadow: 0 0.3rem 0.9rem rgba(32, 43, 62, 0.08);
}

body.public-body[data-theme="light"] .leader-profile-native {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .leader-profile-meta > span,
body.public-body[data-theme="light"] .leader-profile-meta > a {
    border-color: rgba(32, 43, 62, 0.12);
    background: rgba(255, 255, 255, 0.72);
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .leader-profile-meta > a:hover {
    border-color: var(--public-primary);
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .leader-profile-cta > a {
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .leader-profile-cta > a:hover,
body.public-body[data-theme="light"] .leader-speech-content h3 a:hover {
    color: #35499E;
}

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

    .leader-profile-content {
        grid-template-columns: minmax(0, 1fr);
    }

    .leader-profile-aside {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
    }

    .leader-back-link {
        grid-column: 1 / -1;
    }
}

@media (max-width: 800px) {
    .leadership-hero-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
        padding-top: 3.5rem;
    }

    .leadership-hero-stats {
        max-width: 460px;
    }

    .leadership-stat {
        min-height: 125px;
    }

    .leader-profile-content {
        grid-template-columns: 1fr;
    }

    .leader-profile-aside {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
    }

    .leader-facts-card {
        grid-row: auto;
    }
}

@media (max-width: 600px) {
    .leadership-hero,
    .leader-profile-hero {
        margin: -1.25rem -1rem 0;
        padding: 1.2rem 1rem 3.3rem;
    }

    .leadership-hero-grid {
        padding-top: 2.7rem;
    }

    .leadership-hero h1 {
        font-size: clamp(2.55rem, 12vw, 3.7rem);
    }

    .leadership-content {
        padding-top: 1.35rem;
    }

    .leadership-section-nav {
        gap: 0.55rem;
        margin-top: -2.65rem;
        margin-bottom: 2.6rem;
    }

    .leadership-section-nav a {
        min-height: 3rem;
        gap: 0.5rem;
        padding: 0.55rem 0.65rem;
        font-size: 0.75rem;
    }

    .leadership-section {
        margin-top: 2.8rem;
    }

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

    .leadership-card-portrait {
        height: 245px;
    }

    .leadership-section-heading {
        align-items: start;
    }

    .leadership-section-index {
        padding-top: 0.35rem;
        font-size: 0.72rem;
    }

    .leader-profile-intro {
        grid-template-columns: 1fr;
        justify-items: start;
        gap: 1.5rem;
        padding-top: 2.7rem;
    }

    .leader-profile-photo-wrap {
        width: min(55vw, 190px);
    }

    .leader-profile-heading h1 {
        font-size: clamp(2.2rem, 11vw, 3.35rem);
    }

    .leader-profile-content {
        padding-top: 1.2rem;
    }

    .leader-profile-aside {
        grid-template-columns: 1fr;
    }

    .leader-facts-card {
        grid-row: auto;
    }

    .leader-back-link {
        grid-column: auto;
    }

    .leader-speech-card {
        grid-template-columns: 2.3rem minmax(0, 1fr) 1.5rem;
        gap: 0.65rem;
        padding: 0.8rem;
    }

    .leader-speech-icon {
        width: 2.3rem;
        height: 2.3rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .leadership-page *,
    .leader-profile-page * {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

.leadership-page .badge,
.leader-profile-page .badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.35rem 0.65rem;
    border: 0;
    border-radius: 4px;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.2px;
    line-height: 1.25;
    vertical-align: middle;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.leadership-page .badge.rounded-pill,
.leader-profile-page .badge.rounded-pill {
    padding: 0.35rem 0.8rem;
    border-radius: 50rem !important;
}

.leadership-page .badge.bg-primary,
.leader-profile-page .badge.bg-primary {
    background-color: var(--public-primary) !important;
    color: #FFFFFF !important;
}

.leadership-page .badge.bg-secondary,
.leader-profile-page .badge.bg-secondary {
    background-color: var(--public-surface-raised) !important;
    color: var(--public-text-secondary) !important;
}

.leadership-page .badge.bg-success,
.leader-profile-page .badge.bg-success {
    background-color: var(--public-success) !important;
    color: #FFFFFF !important;
}

.leadership-page .badge.bg-primary-subtle,
.leader-profile-page .badge.bg-primary-subtle {
    background-color: var(--public-primary-soft) !important;
    color: #AEBBFF !important;
}

.leadership-page .btn,
.leader-profile-page .btn {
    padding: 0.45rem 0.95rem;
    border-radius: 4px;
    box-shadow: none;
    font-size: 0.8125rem;
    font-weight: 500;
    transition: color 0.2s cubic-bezier(0.16, 1, 0.3, 1),
        background-color 0.2s cubic-bezier(0.16, 1, 0.3, 1),
        border-color 0.2s cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow 0.2s cubic-bezier(0.16, 1, 0.3, 1),
        transform 0.2s ease;
}

.leadership-page .btn:focus,
.leadership-page .btn:active:focus,
.leader-profile-page .btn:focus,
.leader-profile-page .btn:active:focus {
    box-shadow: 0 0 0 2px var(--public-primary-soft);
}

.leadership-page .btn-primary,
.leader-profile-page .btn-primary {
    border-color: var(--public-primary);
    background-color: var(--public-primary);
    color: #FFFFFF !important;
}

.leadership-page .btn-primary:hover,
.leadership-page .btn-primary:focus,
.leader-profile-page .btn-primary:hover,
.leader-profile-page .btn-primary:focus {
    border-color: var(--public-primary-hover);
    background-color: var(--public-primary-hover);
    color: #FFFFFF;
    box-shadow: 0 2px 6px var(--public-primary-soft);
}

.leadership-page .btn-outline-primary,
.leader-profile-page .btn-outline-primary {
    border-color: var(--public-primary);
    background-color: transparent;
    color: #AEBBFF;
}

.leadership-page .btn-outline-primary:hover,
.leadership-page .btn-outline-primary:focus,
.leadership-page .btn-outline-primary:active,
.leader-profile-page .btn-outline-primary:hover,
.leader-profile-page .btn-outline-primary:focus,
.leader-profile-page .btn-outline-primary:active {
    border-color: var(--public-primary);
    background-color: var(--public-primary);
    color: #FFFFFF;
    box-shadow: 0 2px 6px var(--public-primary-soft);
}

.leadership-page .btn-soft-primary,
.leader-profile-page .btn-soft-primary {
    border-color: transparent;
    background-color: var(--public-primary-soft);
    color: #AEBBFF;
}

.leadership-page .btn-soft-primary:hover,
.leadership-page .btn-soft-primary:focus,
.leader-profile-page .btn-soft-primary:hover,
.leader-profile-page .btn-soft-primary:focus {
    border-color: var(--public-primary);
    background-color: var(--public-primary);
    color: #FFFFFF;
    box-shadow: 0 2px 6px var(--public-primary-soft);
}

.leadership-page .btn-outline-light,
.leader-profile-page .btn-outline-light {
    border-color: rgba(255, 255, 255, 0.55);
    color: #FFFFFF;
}

.leadership-page .btn-outline-light:hover,
.leadership-page .btn-outline-light:focus,
.leader-profile-page .btn-outline-light:hover,
.leader-profile-page .btn-outline-light:focus {
    border-color: #FFFFFF;
    background-color: rgba(255, 255, 255, 0.12);
    color: #FFFFFF;
}

.leadership-page .leadership-button,
.leader-profile-page .leadership-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
}

.leadership-page .leadership-nav-button {
    border: 1px solid var(--public-border);
    box-shadow: 0 0.6rem 1.5rem rgba(0, 0, 0, 0.14);
}

.leadership-page .leadership-card-action {
    width: calc(100% - 1.5rem);
    justify-content: space-between;
    margin: 0.75rem;
    padding: 0.45rem 0.75rem;
    border-top: 1px solid var(--public-primary);
    text-decoration: none;
}

.leadership-page .leadership-card-action:hover {
    background-color: var(--public-primary);
    color: #FFFFFF;
}

.leadership-page .leadership-card-action > i {
    color: currentColor;
}

.leadership-page .leadership-nav-count {
    min-width: 1.55rem;
    height: 1.55rem;
    padding: 0.2rem 0.45rem;
    font-size: 0.7rem;
}

.leader-profile-page .leader-profile-status {
    border: 1px solid var(--public-surface);
    background-color: var(--public-success);
    color: #FFFFFF;
}

.leader-profile-page .leader-fact-status {
    font-size: 0.72rem;
}

.leader-profile-page .leader-back-link {
    justify-content: flex-start;
    text-decoration: none;
}

body.public-body[data-theme="light"] .leadership-page .badge.bg-primary-subtle,
body.public-body[data-theme="light"] .leader-profile-page .badge.bg-primary-subtle,
body.public-body[data-theme="light"] .leadership-page .btn-soft-primary,
body.public-body[data-theme="light"] .leader-profile-page .btn-soft-primary {
    color: var(--public-primary-hover) !important;
}

body.public-body[data-theme="light"] .leadership-page .btn-outline-primary,
body.public-body[data-theme="light"] .leader-profile-page .btn-outline-primary {
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .leadership-page .btn-outline-primary:hover,
body.public-body[data-theme="light"] .leadership-page .btn-outline-primary:focus,
body.public-body[data-theme="light"] .leader-profile-page .btn-outline-primary:hover,
body.public-body[data-theme="light"] .leader-profile-page .btn-outline-primary:focus {
    color: #FFFFFF;
}

body.public-body[data-theme="light"] .leader-profile-page .btn-outline-light {
    border-color: var(--public-border);
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .leader-profile-page .btn-outline-light:hover,
body.public-body[data-theme="light"] .leader-profile-page .btn-outline-light:focus {
    border-color: var(--public-primary);
    background-color: var(--public-primary-soft);
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .leader-profile-page .btn-primary,
body.public-body[data-theme="light"] .leader-profile-page .btn-primary:hover,
body.public-body[data-theme="light"] .leader-profile-page .btn-primary:focus {
    color: #FFFFFF !important;
}

.leader-profile-page .leader-profile-status i,
.leader-profile-page .leader-fact-status i {
    color: #FFFFFF;
}

.representatives-page {
    --representatives-accent: #F1B44C;
    --representatives-hero: #1D2333;
    color: var(--public-text);
}

.representatives-container {
    width: min(100%, 1200px);
    margin-inline: auto;
}

.representatives-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin: -1.75rem -1.5rem 0;
    padding: 1.5rem 2rem 5rem;
    background:
        radial-gradient(ellipse at 82% 18%, rgba(85, 110, 230, 0.23), transparent 34rem),
        linear-gradient(135deg, var(--representatives-hero), #252D40 60%, #20283A);
    color: #FFFFFF;
}

.representatives-hero-orb {
    position: absolute;
    z-index: -1;
    top: -15rem;
    right: 7%;
    width: 38rem;
    height: 38rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 50%;
    box-shadow: 0 0 0 3rem rgba(255, 255, 255, 0.018), 0 0 0 6rem rgba(255, 255, 255, 0.014);
    pointer-events: none;
}

.representatives-hero-content {
    position: relative;
    z-index: 1;
}

.representatives-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
    color: rgba(255, 255, 255, 0.64);
    font-size: 0.82rem;
}

.representatives-breadcrumb a {
    color: rgba(255, 255, 255, 0.72);
    text-decoration: none;
}

.representatives-breadcrumb a:hover {
    color: #FFFFFF;
}

.representatives-breadcrumb > i {
    color: var(--representatives-accent);
    font-size: 0.65rem;
}

.representatives-hero-copy {
    max-width: 700px;
    padding-top: clamp(3rem, 7vw, 5rem);
}

.representatives-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.4rem 0.75rem;
    border-radius: 50rem;
    background: var(--public-primary) !important;
    color: #FFFFFF !important;
    font-size: 0.75rem;
    font-weight: 650;
}

.representatives-hero h1 {
    margin: 1rem 0;
    color: #FFFFFF;
    font-size: clamp(2.6rem, 6vw, 4.7rem);
    font-weight: 780;
    letter-spacing: -0.06em;
    line-height: 1;
}

.representatives-hero h1 span {
    color: #AEBBFF;
}

.representatives-hero-copy > p {
    max-width: 630px;
    margin: 1.2rem 0 0;
    color: rgba(255, 255, 255, 0.7);
    font-size: clamp(0.98rem, 1.5vw, 1.1rem);
    line-height: 1.75;
}

.representatives-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.8rem;
    margin-top: 2.4rem;
}

.representatives-stat {
    display: grid;
    min-height: 140px;
    grid-template-rows: auto auto 1fr;
    align-content: start;
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 0.9rem;
    background: rgba(255, 255, 255, 0.055);
    backdrop-filter: blur(12px);
}

.representatives-stat-icon {
    display: grid;
    width: 2.2rem;
    height: 2.2rem;
    place-items: center;
    border: 1px solid rgba(241, 180, 76, 0.3);
    border-radius: 0.7rem;
    color: var(--representatives-accent);
}

.representatives-stat strong {
    margin-top: 0.85rem;
    color: #FFFFFF;
    font-size: 1.65rem;
    font-weight: 750;
    line-height: 1.05;
}

.representatives-stat > span:last-child {
    align-self: end;
    margin-top: 0.35rem;
    color: rgba(255, 255, 255, 0.65);
    font-size: 0.75rem;
}

.representatives-content {
    padding: 0 0 4rem;
}

.representatives-filter-card {
    position: relative;
    z-index: 2;
    margin-top: -2.35rem;
    padding: clamp(1.1rem, 2.8vw, 1.65rem);
    border: 1px solid var(--public-border);
    border-radius: 1rem;
    background: var(--public-surface);
    box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.16);
}

.representatives-filter-heading {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-bottom: 1.25rem;
}

.representatives-filter-icon {
    display: grid;
    width: 2.8rem;
    height: 2.8rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 0.8rem;
    background: var(--public-primary-soft);
    color: #AEBBFF;
    font-size: 1.1rem;
}

.representatives-filter-heading h2 {
    margin: 0;
    color: var(--public-text);
    font-size: 1.1rem;
    font-weight: 700;
}

.representatives-filter-heading p {
    margin: 0.25rem 0 0;
    color: var(--public-text-secondary);
    font-size: 0.83rem;
}

.representatives-filter-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.representatives-filter-field {
    min-width: 0;
}

.representatives-filter-field > label {
    display: block;
    margin-bottom: 0.45rem;
    color: var(--public-text-secondary);
    font-size: 0.77rem;
    font-weight: 650;
}

.representatives-filter-field .form-select,
.representatives-filter-field .form-control,
.representatives-filter-field .input-group-text {
    min-height: 2.75rem;
    border-color: var(--public-border);
    background-color: var(--public-bg);
    color: var(--public-text);
    font-size: 0.85rem;
}

.representatives-filter-field .form-select:focus,
.representatives-filter-field .form-control:focus {
    border-color: var(--public-primary);
    box-shadow: 0 0 0 0.15rem var(--public-primary-soft);
}

.representatives-filter-field .form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a6b0cf' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.representatives-filter-field .input-group-text {
    color: var(--public-text-muted);
}

.representatives-search-field {
    grid-column: span 2;
}

.representatives-search-field .btn {
    min-width: 2.8rem;
    border-color: var(--public-primary);
    background: var(--public-primary);
    color: #FFFFFF;
}

.representatives-filter-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.2rem;
    padding-top: 1rem;
    border-top: 1px solid var(--public-border);
}

.representatives-filter-footer > p {
    margin: 0;
    color: var(--public-text-muted);
    font-size: 0.78rem;
}

.representatives-filter-footer > p i {
    margin-right: 0.3rem;
    color: var(--public-info);
}

.representatives-filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.representatives-page .btn {
    display: inline-flex;
    min-height: 2.45rem;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.45rem 0.8rem;
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 550;
    box-shadow: none;
}

.representatives-page .btn-primary {
    border-color: var(--public-primary);
    background: var(--public-primary);
    color: #FFFFFF;
}

.representatives-page .btn-primary:hover,
.representatives-page .btn-primary:focus {
    border-color: var(--public-primary-hover);
    background: var(--public-primary-hover);
    color: #FFFFFF;
}

.representatives-page .btn-outline-secondary {
    border-color: var(--public-border);
    background: transparent;
    color: var(--public-text-secondary);
}

.representatives-page .btn-outline-secondary:hover,
.representatives-page .btn-outline-secondary:focus {
    border-color: var(--public-primary);
    background: var(--public-primary-soft);
    color: var(--public-text);
}

.representatives-page .btn.disabled {
    opacity: 0.45;
    pointer-events: none;
}

.representatives-results {
    padding-top: 3rem;
}

.representatives-results-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.2rem;
}

.representatives-section-kicker {
    color: var(--public-primary);
    font-size: 0.7rem;
    font-weight: 750;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.representatives-results-heading h2 {
    margin: 0.35rem 0 0;
    color: var(--public-text);
    font-size: clamp(1.45rem, 3vw, 2rem);
    font-weight: 730;
    letter-spacing: -0.035em;
}

.representatives-result-count {
    margin: 0;
    color: var(--public-text-secondary);
    font-size: 0.83rem;
}

.representatives-result-count strong {
    color: var(--public-text);
}

.representatives-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 1rem;
}

.representative-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--public-border);
    border-radius: 0.9rem;
    background: var(--public-surface);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.representative-card:hover {
    transform: translateY(-3px);
    border-color: rgba(85, 110, 230, 0.55);
    box-shadow: 0 0.8rem 2rem rgba(0, 0, 0, 0.16);
}

.representative-card-accent {
    height: 3px;
    background: linear-gradient(90deg, var(--public-primary), #50A5F1);
}

.representative-card-body {
    display: flex;
    height: 100%;
    flex-direction: column;
    padding: 1rem;
}

.representative-card-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.representative-tier-badge,
.representative-year-badge,
.representative-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    max-width: 100%;
    padding: 0.32rem 0.58rem;
    border: 0;
    border-radius: 50rem;
    font-size: 0.68rem;
    font-weight: 650;
    line-height: 1.3;
    white-space: normal;
}

.representative-tier-badge.bg-primary {
    background: var(--public-primary) !important;
    color: #FFFFFF !important;
}

.representative-tier-badge.bg-info {
    background: var(--public-info) !important;
    color: #FFFFFF !important;
}

.representative-tier-badge.bg-success,
.representative-status-badge.bg-success {
    background: var(--public-success) !important;
    color: #FFFFFF !important;
}

.representative-year-badge,
.representative-status-badge.bg-secondary {
    background: var(--public-surface-raised) !important;
    color: var(--public-text-secondary) !important;
}

.representative-person {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.85rem;
    margin-top: 1.2rem;
}

.representative-avatar {
    display: grid;
    width: 4.25rem;
    height: 4.25rem;
    flex: 0 0 auto;
    overflow: hidden;
    place-items: center;
    border: 2px solid var(--public-border);
    border-radius: 50%;
    background: var(--public-primary-soft);
    color: #AEBBFF;
    font-size: 1.65rem;
}

.representative-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.representative-person-info {
    min-width: 0;
}

.representative-person-info h3 {
    overflow-wrap: anywhere;
    margin: 0;
    color: var(--public-text);
    font-size: 1.03rem;
    font-weight: 720;
    line-height: 1.35;
}

.representative-native-name {
    margin: 0.15rem 0 0;
    color: var(--public-text-secondary);
    font-size: 0.82rem;
}

.representative-position {
    display: flex;
    align-items: center;
    gap: 0.38rem;
    margin: 0.3rem 0 0;
    color: var(--public-primary);
    font-size: 0.75rem;
    font-weight: 600;
}

.representative-location {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin-top: 1rem;
    padding: 0.75rem;
    border: 1px solid var(--public-border);
    border-radius: 0.65rem;
    background: var(--public-bg);
    color: var(--public-text-secondary);
    font-size: 0.75rem;
    line-height: 1.55;
}

.representative-location > i {
    margin-top: 0.12rem;
    color: var(--public-primary);
}

.representative-location strong {
    color: var(--public-text);
    font-weight: 650;
}

.representative-election {
    margin-top: 0.9rem;
}

.representative-election-heading {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--public-text);
    font-size: 0.76rem;
    font-weight: 650;
}

.representative-election-heading > i {
    color: var(--public-primary);
}

.representative-status-badge {
    margin-left: auto;
}

.representative-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.representative-metrics > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 0.18rem;
}

.representative-metrics span {
    color: var(--public-text-muted);
    font-size: 0.67rem;
}

.representative-metrics strong {
    overflow-wrap: anywhere;
    color: var(--public-text);
    font-size: 0.86rem;
    font-weight: 700;
}

.representative-vote-progress {
    height: 4px;
    overflow: hidden;
    margin-top: 0.7rem;
    border-radius: 9px;
    background: var(--public-border);
}

.representative-vote-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--public-primary), #50A5F1);
}

.representative-runner-up {
    display: grid;
    gap: 0.45rem;
    margin: 0.7rem 0 0;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--public-border);
    border-left: 3px solid var(--public-info);
    border-radius: 0.65rem;
    background: var(--public-surface-raised);
}

.representative-runner-label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--public-info);
    font-size: 0.62rem;
    font-weight: 750;
    letter-spacing: 0.07em;
    line-height: 1.3;
    text-transform: uppercase;
}

.representative-runner-details {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem 0.7rem;
}

.representative-runner-details > strong {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--public-text);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.4;
}

.representative-runner-party {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    gap: 0.3rem;
    padding: 0.26rem 0.5rem;
    border: 1px solid var(--public-border);
    border-radius: 50rem;
    background: var(--public-primary-soft);
    color: #AEBBFF;
    font-size: 0.64rem;
    font-weight: 650;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.representative-bio {
    display: -webkit-box;
    overflow: hidden;
    margin: 0.85rem 0 0;
    color: var(--public-text-secondary);
    font-size: 0.76rem;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.representative-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: auto;
    padding-top: 1rem;
    color: var(--public-text-muted);
    font-size: 0.7rem;
}

.representative-card-footer > span:first-child {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.representative-card-footer > span:first-child i {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .representatives-page .representative-runner-party {
    color: var(--public-primary-hover);
}

.representative-card-footer .badge {
    padding: 0.28rem 0.5rem;
    border-radius: 50rem;
    background: var(--public-primary-soft) !important;
    color: #AEBBFF !important;
    font-size: 0.66rem;
    font-weight: 650;
}

.representatives-empty {
    display: grid;
    justify-items: center;
    padding: clamp(2rem, 7vw, 4rem) 1rem;
    border: 1px dashed var(--public-border);
    border-radius: 1rem;
    background: var(--public-surface);
    text-align: center;
}

.representatives-empty > span {
    display: grid;
    width: 3.5rem;
    height: 3.5rem;
    place-items: center;
    border-radius: 50%;
    background: var(--public-primary-soft);
    color: var(--public-primary);
    font-size: 1.25rem;
}

.representatives-empty h3 {
    margin: 1rem 0 0.4rem;
    color: var(--public-text);
    font-size: 1.15rem;
    font-weight: 700;
}

.representatives-empty p {
    max-width: 440px;
    margin: 0 0 1rem;
    color: var(--public-text-secondary);
    font-size: 0.85rem;
}

.representatives-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.representatives-page-numbers {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
}

.representatives-page-numbers .btn {
    min-width: 2.45rem;
}

.representatives-page-numbers > span {
    padding-inline: 0.15rem;
    color: var(--public-text-muted);
}

body.public-body[data-theme="light"] .representatives-filter-icon,
body.public-body[data-theme="light"] .representatives-empty > span {
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .representative-avatar,
body.public-body[data-theme="light"] .representative-card-footer .badge {
    color: var(--public-primary-hover) !important;
}

body.public-body[data-theme="light"] .representatives-page .btn-outline-secondary:hover,
body.public-body[data-theme="light"] .representatives-page .btn-outline-secondary:focus {
    color: var(--public-primary-hover);
}

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

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

@media (max-width: 700px) {
    .representatives-hero {
        margin: -1.25rem -1rem 0;
        padding: 1.2rem 1rem 4rem;
    }

    .representatives-hero-copy {
        padding-top: 2.8rem;
    }

    .representatives-hero h1 {
        font-size: clamp(2.45rem, 11vw, 3.7rem);
    }

    .representatives-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.6rem;
        margin-top: 1.7rem;
    }

    .representatives-stat {
        min-height: 120px;
        padding: 0.8rem;
    }

    .representatives-stat strong {
        font-size: 1.35rem;
    }

    .representatives-content {
        padding-bottom: 2.5rem;
    }

    .representatives-filter-card {
        margin-top: -2rem;
    }

    .representatives-results {
        padding-top: 2.3rem;
    }

    .representatives-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (min-width: 701px) and (max-width: 991.98px) {
    .representatives-hero {
        margin-inline: -1rem;
    }
}

@media (max-width: 480px) {
    .representatives-filter-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.8rem;
    }

    .representatives-search-field {
        grid-column: auto;
    }

    .representatives-filter-footer,
    .representatives-results-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .representatives-filter-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .representatives-filter-actions .btn {
        padding-inline: 0.5rem;
        font-size: 0.74rem;
    }

    .representatives-result-count {
        font-size: 0.77rem;
    }

    .representatives-pagination {
        flex-wrap: wrap;
    }

    .representatives-page-numbers {
        order: -1;
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .representatives-page *,
    .representatives-page *::before,
    .representatives-page *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

.representative-card {
    display: grid;
    height: 100%;
    grid-template-rows: auto 1fr;
    border-radius: 1rem;
    box-shadow: 0 0.45rem 1.4rem rgba(0, 0, 0, 0.09);
}

.representative-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 1rem 2.2rem rgba(0, 0, 0, 0.2);
}

.representative-card-cover {
    position: relative;
    overflow: hidden;
    padding: 1rem 1rem 1.2rem;
    background:
        radial-gradient(ellipse at 92% 10%, rgba(85, 110, 230, 0.32), transparent 13rem),
        linear-gradient(145deg, #1D2333, #252D40 72%, #20283A);
    color: #FFFFFF;
}

.representative-card-cover::after {
    position: absolute;
    right: -3.5rem;
    bottom: -7rem;
    width: 15rem;
    height: 15rem;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 50%;
    box-shadow: 0 0 0 1.5rem rgba(255, 255, 255, 0.025), 0 0 0 3rem rgba(255, 255, 255, 0.018);
    content: "";
    pointer-events: none;
}

.representative-card-cover > * {
    position: relative;
    z-index: 1;
}

.representative-card-topline {
    min-height: 1.75rem;
}

.representative-tier-badge,
.representative-year-badge {
    min-height: 1.65rem;
    padding: 0.35rem 0.65rem;
    font-size: 0.66rem;
    white-space: nowrap;
}

.representative-year-badge {
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.1) !important;
    color: rgba(255, 255, 255, 0.9) !important;
    backdrop-filter: blur(8px);
}

.representative-person {
    align-items: center;
    gap: 1rem;
    margin-top: 1.1rem;
}

.representative-avatar {
    width: 5.25rem;
    height: 6rem;
    border: 2px solid rgba(255, 255, 255, 0.32);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.12);
    color: #FFFFFF;
    font-size: 2rem;
    box-shadow: 0 0.6rem 1.4rem rgba(0, 0, 0, 0.2);
}

.representative-avatar img {
    object-position: center top;
}

.representative-person-info h3 {
    color: #FFFFFF;
    font-size: clamp(1.05rem, 1.3vw, 1.2rem);
    letter-spacing: -0.02em;
}

.representative-native-name {
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.8rem;
}

.representative-position {
    color: #C4CEFF;
    font-size: 0.73rem;
    line-height: 1.4;
}

.representative-card-body {
    height: auto;
    gap: 0.85rem;
    padding: 1rem;
}

.representative-location {
    align-items: center;
    gap: 0.7rem;
    margin: 0;
    padding: 0.7rem 0.75rem;
    border: 0;
    border-radius: 0.7rem;
    background: var(--public-bg);
}

.representative-location > i {
    display: grid;
    width: 2rem;
    height: 2rem;
    flex: 0 0 auto;
    margin: 0;
    place-items: center;
    border-radius: 0.6rem;
    background: var(--public-primary-soft);
    color: var(--public-primary);
}

.representative-location > span {
    display: grid;
    min-width: 0;
    gap: 0.08rem;
}

.representative-location small {
    color: var(--public-text-muted);
    font-size: 0.62rem;
    font-weight: 650;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.representative-location strong {
    overflow-wrap: anywhere;
    font-size: 0.8rem;
}

.representative-location > span > span {
    color: var(--public-text-secondary);
    font-size: 0.7rem;
}

.representative-election {
    margin: 0;
    padding-top: 0.1rem;
}

.representative-election-heading {
    padding-bottom: 0.65rem;
    border-bottom: 1px solid var(--public-border);
    font-size: 0.75rem;
}

.representative-status-badge {
    padding: 0.3rem 0.55rem;
    font-size: 0.64rem;
}

.representative-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
    margin-top: 0.7rem;
}

.representative-metrics > div {
    min-height: 3rem;
    justify-content: center;
    gap: 0.25rem;
    padding: 0.5rem 0.55rem;
    border-radius: 0.6rem;
    background: var(--public-bg);
}

.representative-metrics > .representative-votes-metric {
    position: relative;
    min-height: 4.1rem;
    grid-column: 1 / -1;
    padding: 0.65rem 0.8rem;
    border: 1px solid rgba(85, 110, 230, 0.2);
    background: linear-gradient(105deg, var(--public-primary-soft), var(--public-bg) 85%);
}

.representative-votes-metric span {
    font-size: 0.65rem;
}

.representative-metrics > .representative-votes-metric strong {
    color: var(--public-text);
    font-size: 1.35rem;
    letter-spacing: -0.035em;
}

.representative-votes-metric > i {
    position: absolute;
    top: 50%;
    right: 0.8rem;
    color: var(--public-primary);
    font-size: 1.1rem;
    transform: translateY(-50%);
}

.representative-metrics > div:not(.representative-votes-metric) span {
    font-size: 0.6rem;
    line-height: 1.25;
}

.representative-metrics > div:not(.representative-votes-metric) strong {
    font-size: 0.78rem;
}

.representative-vote-progress {
    height: 5px;
    margin-top: 0.55rem;
}

.representative-runner-up {
    gap: 0.4rem;
    margin-top: 0.55rem;
    padding: 0.6rem 0.7rem;
}

.representative-runner-label {
    font-size: 0.6rem;
}

.representative-runner-details > strong {
    font-size: 0.74rem;
}

.representative-runner-party {
    font-size: 0.62rem;
}

.representative-bio {
    margin: 0;
    padding-top: 0.75rem;
    border-top: 1px solid var(--public-border);
    font-size: 0.73rem;
    -webkit-line-clamp: 2;
}

.representative-card-footer {
    flex-wrap: wrap;
    margin-top: auto;
    padding-top: 0.75rem;
    border-top: 1px solid var(--public-border);
    font-size: 0.66rem;
}

.representative-card-footer > span {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.representative-card-footer > span:last-child {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .representative-location > i {
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .representative-votes-metric > i {
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .representative-vote-progress span {
    background: linear-gradient(90deg, var(--public-primary), #50A5F1);
}

@media (max-width: 700px) {
    .representative-card-body {
        gap: 0.8rem;
        padding: 0.9rem;
    }

    .representative-card-cover {
        padding: 0.9rem;
    }

    .representative-avatar {
        width: 4.75rem;
        height: 5.4rem;
    }
}

@media (max-width: 380px) {
    .representative-card-topline {
        align-items: flex-start;
    }

    .representative-tier-badge,
    .representative-year-badge {
        padding-inline: 0.5rem;
        font-size: 0.6rem;
    }

    .representative-person {
        gap: 0.75rem;
    }

    .representative-avatar {
        width: 4.2rem;
        height: 4.8rem;
    }

    .representative-metrics {
        gap: 0.4rem;
    }

    .representative-metrics > div:not(.representative-votes-metric) {
        padding-inline: 0.4rem;
    }
}

body.public-body[data-theme="light"] .representatives-page .representatives-hero {
    background:
        radial-gradient(ellipse at 86% 12%, rgba(85, 110, 230, 0.14), transparent 34rem),
        linear-gradient(135deg, #FFFFFF, #F0F3FA 68%, #E9EEF9);
    color: var(--public-text);
}

body.public-body[data-theme="light"] .representatives-page .representatives-hero-orb {
    border-color: rgba(57, 75, 120, 0.1);
    box-shadow: 0 0 0 3rem rgba(57, 75, 120, 0.025), 0 0 0 6rem rgba(57, 75, 120, 0.018);
}

body.public-body[data-theme="light"] .representatives-page .representatives-breadcrumb,
body.public-body[data-theme="light"] .representatives-page .representatives-breadcrumb a {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .representatives-page .representatives-breadcrumb a:hover {
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .representatives-page .representatives-hero h1 {
    color: var(--public-text);
}

body.public-body[data-theme="light"] .representatives-page .representatives-hero h1 span {
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .representatives-page .representatives-hero-copy > p {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .representatives-page .representatives-stat {
    border-color: rgba(57, 75, 120, 0.12);
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 0.5rem 1.5rem rgba(32, 43, 62, 0.06);
}

body.public-body[data-theme="light"] .representatives-page .representatives-stat-icon {
    border-color: rgba(85, 110, 230, 0.2);
    background: var(--public-primary-soft);
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .representatives-page .representatives-stat strong {
    color: var(--public-text);
}

body.public-body[data-theme="light"] .representatives-page .representatives-stat > span:last-child {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .representatives-page .representative-card-cover {
    background:
        radial-gradient(ellipse at 92% 10%, rgba(85, 110, 230, 0.16), transparent 13rem),
        linear-gradient(145deg, #FFFFFF, #F1F4FB 72%, #E9EEF9);
    color: var(--public-text);
}

body.public-body[data-theme="light"] .representatives-page .representative-card-cover::after {
    border-color: rgba(57, 75, 120, 0.08);
    box-shadow: 0 0 0 1.5rem rgba(57, 75, 120, 0.025), 0 0 0 3rem rgba(57, 75, 120, 0.018);
}

body.public-body[data-theme="light"] .representatives-page .representative-year-badge {
    border-color: rgba(57, 75, 120, 0.16);
    background: rgba(255, 255, 255, 0.76) !important;
    color: var(--public-text-secondary) !important;
}

body.public-body[data-theme="light"] .representatives-page .representative-avatar {
    border-color: rgba(85, 110, 230, 0.22);
    background: var(--public-primary-soft);
    color: var(--public-primary-hover) !important;
    box-shadow: 0 0.5rem 1.25rem rgba(32, 43, 62, 0.1);
}

body.public-body[data-theme="light"] .representatives-page .representative-person-info h3 {
    color: var(--public-text);
}

body.public-body[data-theme="light"] .representatives-page .representative-native-name {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .representatives-page .representative-position {
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .representatives-page .representative-votes-metric > i {
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .representatives-page .representatives-filter-field .form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2349566b' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.representatives-page .representative-native-name {
    color: var(--public-text-secondary);
}

.representatives-page .representative-position {
    color: #C4CEFF;
}

.representatives-page .representative-runner-up {
    color: var(--public-text);
}

.representatives-page .representative-bio {
    color: var(--public-text-secondary);
}

.representatives-page .representatives-result-count {
    color: var(--public-text-secondary);
}

.news-page {
    min-width: 0;
    margin: -1.75rem -1.5rem 0;
}

.news-page-container {
    width: min(100% - 3rem, 1200px);
    margin-inline: auto;
}

.news-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(2.5rem, 5vw, 4.25rem) 0;
    border-bottom: 1px solid var(--public-border);
    background:
        radial-gradient(ellipse at 88% 15%, rgba(85, 110, 230, 0.24), transparent 35%),
        linear-gradient(125deg, #202638, #2A3042 58%, #343B50);
    color: #FFFFFF;
}

.news-hero-inner {
    position: relative;
    z-index: 1;
}

.news-hero-flag {
    position: absolute;
    z-index: 0;
    top: 54%;
    right: max(4%, calc((100% - 1200px) / 2));
    width: clamp(250px, 38vw, 460px);
    height: auto;
    opacity: 0.16;
    pointer-events: none;
    transform: translateY(-50%);
}

.news-hero-flag--light {
    display: none;
}

.news-breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: #A6B0CF;
    font-size: 0.8rem;
}

.news-breadcrumb a {
    color: #A6B0CF;
    text-decoration: none;
}

.news-breadcrumb a:hover {
    color: #FFFFFF;
}

.news-breadcrumb > i {
    color: #8991A5;
    font-size: 0.65rem;
}

.news-breadcrumb [aria-current="page"] {
    overflow: hidden;
    max-width: min(60vw, 28rem);
    color: #EFF2F7;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.news-hero-content {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
}

.news-hero-copy {
    max-width: 48rem;
}

.news-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.9rem;
    color: #C4CEFF;
    font-size: 0.75rem;
    font-weight: 750;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.news-hero h1 {
    margin: 0;
    color: #FFFFFF;
    font-size: clamp(2rem, 4.5vw, 3.4rem);
    font-weight: 760;
    letter-spacing: -0.045em;
    line-height: 1.08;
}

.news-hero p {
    max-width: 38rem;
    margin: 0.9rem 0 0;
    color: #D0D6E4;
    font-size: clamp(0.98rem, 1.4vw, 1.12rem);
    line-height: 1.65;
}

.news-hero-count {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.8rem;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 0.8rem;
    background: rgba(255, 255, 255, 0.07);
    color: #FFFFFF;
}

.news-hero-count > i {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 0.65rem;
    background: rgba(130, 148, 240, 0.18);
    color: #C4CEFF;
    font-size: 1.2rem;
}

.news-hero-count span {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.news-hero-count strong {
    font-size: 1.25rem;
    line-height: 1;
}

.news-hero-count small {
    color: #D0D6E4;
    font-size: 0.72rem;
}

.news-content {
    padding-top: clamp(1.25rem, 3vw, 2rem);
    padding-bottom: clamp(2rem, 5vw, 4rem);
}

.news-toolbar {
    padding: 1rem;
    margin-bottom: 1.35rem;
    border: 1px solid var(--public-border);
    border-radius: 0.85rem;
    background: var(--public-surface);
    box-shadow: 0 0.35rem 1.1rem rgba(0, 0, 0, 0.1);
}

.news-filter-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(190px, 0.48fr) auto;
    align-items: center;
    gap: 0.7rem;
}

.news-search-field {
    position: relative;
    min-width: 0;
}

.news-search-field > i {
    position: absolute;
    top: 50%;
    left: 0.9rem;
    color: var(--public-text-muted);
    pointer-events: none;
    transform: translateY(-50%);
}

.news-search-field .form-control {
    min-height: 46px;
    padding-left: 2.6rem;
    border-color: var(--public-border);
    background-color: var(--public-bg);
    color: var(--public-text);
}

.news-search-field .form-control::placeholder {
    color: var(--public-text-muted);
}

.news-category-field .form-select {
    min-height: 46px;
    border-color: var(--public-border);
    background-color: var(--public-bg);
    color: var(--public-text);
}

.news-filter-actions {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.news-filter-button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.65rem 0.9rem;
    border: 1px solid var(--public-primary);
    border-radius: 0.55rem;
    background: var(--public-primary);
    color: #FFFFFF !important;
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.news-filter-button:hover {
    border-color: var(--public-primary-hover);
    background: var(--public-primary-hover);
    color: #FFFFFF !important;
}

.news-filter-button:focus-visible,
.news-reset-link:focus-visible,
.news-card a:focus-visible {
    outline: 3px solid var(--public-info);
    outline-offset: 3px;
}

.news-reset-link {
    padding: 0.5rem 0.25rem;
    color: var(--public-text-secondary) !important;
    font-size: 0.82rem;
    font-weight: 650;
    text-decoration: none;
}

.news-reset-link:hover {
    color: var(--public-text) !important;
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.news-results-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 0.15rem 0.1rem;
    color: var(--public-text-muted);
    font-size: 0.78rem;
}

.news-filter-active {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #B5C0FF;
    font-weight: 650;
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}

.news-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--public-border);
    border-radius: 0.85rem;
    background: var(--public-surface);
    box-shadow: 0 0.35rem 1.1rem rgba(0, 0, 0, 0.12);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.news-card--lead {
    display: grid;
    grid-column: span 2;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.news-card--lead .news-card-media {
    min-height: 100%;
    aspect-ratio: auto;
}

.news-card--lead .news-card-body {
    justify-content: center;
    padding: clamp(1.25rem, 3vw, 2rem);
}

.news-card--lead h2 {
    font-size: clamp(1.25rem, 2.2vw, 1.8rem);
    -webkit-line-clamp: 3;
}

.news-card--lead .news-card-summary {
    min-height: 0;
    font-size: 0.9rem;
    -webkit-line-clamp: 4;
}

.news-card:hover {
    transform: translateY(-4px);
    border-color: rgba(85, 110, 230, 0.72);
    box-shadow: 0 0.85rem 1.7rem rgba(0, 0, 0, 0.2);
}

.news-card-media {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: var(--public-surface-raised);
    color: inherit;
}

.news-card-media > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.news-card:hover .news-card-media > img {
    transform: scale(1.04);
}

.news-card-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    background:
        radial-gradient(circle at 75% 20%, rgba(85, 110, 230, 0.2), transparent 36%),
        linear-gradient(135deg, var(--public-surface-raised), var(--public-surface));
    color: var(--public-primary);
    font-size: 3rem;
}

.news-card-badges {
    position: absolute;
    inset: 0.8rem 0.8rem auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.45rem;
    pointer-events: none;
}

.news-card-badge {
    display: inline-flex;
    min-height: 25px;
    align-items: center;
    gap: 0.3rem;
    padding: 0.25rem 0.55rem;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: rgba(25, 30, 44, 0.88);
    color: #FFFFFF;
    font-size: 0.67rem;
    font-weight: 750;
    line-height: 1.1;
    backdrop-filter: blur(8px);
}

.news-card-badge--breaking {
    margin-left: auto;
    border-color: rgba(244, 106, 106, 0.55);
    background: rgba(112, 36, 45, 0.92);
    color: #FFE2E2;
}

.news-card-badge--featured {
    margin-left: auto;
    border-color: rgba(241, 180, 76, 0.5);
    background: rgba(100, 72, 25, 0.94);
    color: #FFE2A8;
}

.news-card-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 1.05rem 1.1rem 1rem;
}

.news-card-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.9rem;
    margin-bottom: 0.75rem;
    color: var(--public-text-muted);
    font-size: 0.72rem;
}

.news-card-meta span,
.news-card-author {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 0.35rem;
}

.news-card-meta i {
    color: var(--public-primary);
}

.news-card h2 {
    display: -webkit-box;
    overflow: hidden;
    margin: 0 0 0.55rem;
    color: var(--public-text);
    font-size: clamp(1rem, 1.4vw, 1.15rem);
    font-weight: 730;
    letter-spacing: -0.018em;
    line-height: 1.4;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.news-card h2 a {
    color: var(--public-text) !important;
    text-decoration: none;
}

.news-card h2 a:hover {
    color: #B5C0FF !important;
}

.news-card-summary {
    display: -webkit-box;
    overflow: hidden;
    min-height: 4.35em;
    margin: 0 0 1rem;
    color: var(--public-text-secondary);
    font-size: 0.84rem;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.news-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding-top: 0.8rem;
    margin-top: auto;
    border-top: 1px solid var(--public-border);
}

.news-card-author {
    overflow: hidden;
    color: var(--public-text-muted);
    font-size: 0.7rem;
}

.news-card-author i {
    flex: 0 0 auto;
    color: var(--public-primary);
    font-size: 0.85rem;
}

.news-card-author span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.news-read-link {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.35rem;
    color: #B5C0FF !important;
    font-size: 0.76rem;
    font-weight: 750;
    text-decoration: none;
}

.news-read-link:hover {
    color: var(--public-primary) !important;
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.news-empty-state {
    display: grid;
    min-height: 280px;
    justify-items: center;
    align-content: center;
    padding: 2rem 1rem;
    border: 1px dashed var(--public-border);
    border-radius: 0.85rem;
    background: var(--public-surface);
    text-align: center;
}

.news-empty-icon {
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    margin-bottom: 0.9rem;
    border: 1px solid var(--public-border);
    border-radius: 0.8rem;
    background: var(--public-primary-soft);
    color: var(--public-primary);
    font-size: 1.35rem;
}

.news-empty-state h2 {
    margin: 0 0 0.4rem;
    color: var(--public-text);
    font-size: 1.2rem;
}

.news-empty-state p {
    max-width: 32rem;
    margin: 0 0 1.1rem;
    color: var(--public-text-secondary);
    line-height: 1.6;
}

.news-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    margin-top: 1.5rem;
    border: 1px solid var(--public-border);
    border-radius: 0.8rem;
    background: var(--public-surface);
    box-shadow: 0 0.25rem 0.8rem rgba(0, 0, 0, 0.08);
}

.news-pagination-status {
    color: var(--public-text-muted);
    font-size: 0.8rem;
    white-space: nowrap;
}

.news-pagination-status strong {
    color: var(--public-text);
    font-weight: 750;
}

.news-pagination-controls,
.news-page-numbers {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.news-page-step,
.news-page-number {
    display: inline-flex;
    min-width: 2.45rem;
    min-height: 2.45rem;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.45rem 0.7rem;
    border: 1px solid var(--public-border);
    border-radius: 0.55rem;
    background: var(--public-bg);
    color: var(--public-text-secondary) !important;
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition: color 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
}

.news-page-step:hover,
.news-page-number:hover {
    border-color: var(--public-primary);
    background: var(--public-primary-soft);
    color: #B5C0FF !important;
}

.news-page-number.is-current {
    border-color: var(--public-primary);
    background: var(--public-primary);
    color: #FFFFFF !important;
    box-shadow: 0 3px 9px rgba(85, 110, 230, 0.28);
}

.news-page-step.is-disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.news-page-ellipsis {
    display: inline-flex;
    min-width: 1rem;
    justify-content: center;
    color: var(--public-text-muted);
}

.news-pagination a:focus-visible {
    outline: 3px solid var(--public-info);
    outline-offset: 2px;
}

body.public-body[data-theme="light"] .news-hero {
    background:
        radial-gradient(ellipse at 88% 15%, rgba(85, 110, 230, 0.12), transparent 35%),
        linear-gradient(125deg, #FFFFFF, #F0F3FA 58%, #E8EDF8);
}

body.public-body[data-theme="light"] .news-hero-flag {
    opacity: 0.13;
}

body.public-body[data-theme="light"] .news-hero-flag--dark {
    display: none;
}

body.public-body[data-theme="light"] .news-hero-flag--light {
    display: block;
}

body.public-body[data-theme="light"] .news-breadcrumb {
    color: var(--public-text-muted);
}

body.public-body[data-theme="light"] .news-breadcrumb a {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .news-breadcrumb a:hover {
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .news-breadcrumb [aria-current="page"] {
    color: var(--public-text);
}

body.public-body[data-theme="light"] .news-eyebrow,
body.public-body[data-theme="light"] .news-filter-active,
body.public-body[data-theme="light"] .news-card h2 a:hover,
body.public-body[data-theme="light"] .news-read-link {
    color: #35499E !important;
}

body.public-body[data-theme="light"] .news-hero h1 {
    color: var(--public-text);
}

body.public-body[data-theme="light"] .news-hero p {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .news-hero-count {
    border-color: var(--public-border);
    background: rgba(255, 255, 255, 0.82);
    color: var(--public-text);
}

body.public-body[data-theme="light"] .news-hero-count > i {
    background: var(--public-primary-soft);
    color: #35499E;
}

body.public-body[data-theme="light"] .news-hero-count small {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .news-card-badge--featured {
    border-color: rgba(241, 180, 76, 0.5);
    color: #FFE2A8;
}

.organization-page {
    min-width: 0;
    margin: -1.75rem -1.5rem 0;
}

.organization-container {
    width: min(100% - 3rem, 1200px);
    margin-inline: auto;
}

.organization-hero {
    position: relative;
    overflow: hidden;
    padding: 2rem 0 0;
    border-bottom: 1px solid var(--public-border);
    background:
        radial-gradient(ellipse at 86% 30%, rgba(85, 110, 230, 0.2), transparent 34%),
        linear-gradient(125deg, #202638, #2A3042 58%, #343B50);
    color: #FFFFFF;
}

.organization-hero-inner {
    position: relative;
    z-index: 1;
}

.organization-hero-flag {
    position: absolute;
    z-index: 0;
    top: 54%;
    right: max(4%, calc((100% - 1200px) / 2));
    width: clamp(250px, 38vw, 460px);
    height: auto;
    opacity: 0.12;
    pointer-events: none;
    transform: translateY(-50%);
}

.organization-hero-flag--light {
    display: none;
}

.organization-breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: #A6B0CF;
    font-size: 0.8rem;
}

.organization-breadcrumb a {
    color: #A6B0CF;
    text-decoration: none;
}

.organization-breadcrumb a:hover {
    color: #FFFFFF;
}

.organization-breadcrumb > i {
    color: #8991A5;
    font-size: 0.65rem;
}

.organization-breadcrumb [aria-current="page"] {
    overflow: hidden;
    max-width: min(60vw, 28rem);
    color: #EFF2F7;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.organization-hero-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(225px, 290px);
    align-items: center;
    gap: clamp(1.5rem, 4vw, 3.5rem);
    padding-bottom: clamp(2rem, 4vw, 3.5rem);
}

.organization-hero-copy {
    max-width: 680px;
}

.organization-eyebrow,
.organization-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: #C4CEFF;
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.organization-eyebrow {
    padding: 0.4rem 0.65rem;
    border: 1px solid rgba(130, 148, 240, 0.28);
    border-radius: 2rem;
    background: rgba(85, 110, 230, 0.12);
}

.organization-hero h1 {
    margin: 0.9rem 0 0;
    color: #FFFFFF;
    font-size: clamp(2rem, 4.4vw, 3.5rem);
    font-weight: 780;
    letter-spacing: -0.045em;
    line-height: 1.08;
    overflow-wrap: anywhere;
}

.organization-hero-copy > p {
    max-width: 600px;
    margin: 0.9rem 0 0;
    color: #D0D6E4;
    font-size: clamp(0.95rem, 1.4vw, 1.08rem);
    line-height: 1.7;
}

.organization-hero-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1.2rem;
    color: #D7DEFF !important;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
}

.organization-hero-link:hover {
    color: #FFFFFF !important;
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.organization-hero-stats {
    display: grid;
    gap: 0.6rem;
}

.organization-stat {
    display: flex;
    min-height: 64px;
    align-items: center;
    gap: 0.8rem;
    padding: 0.65rem 0.8rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 0.75rem;
    background: rgba(255, 255, 255, 0.065);
    backdrop-filter: blur(8px);
}

.organization-stat > i {
    display: grid;
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid rgba(130, 148, 240, 0.2);
    border-radius: 0.6rem;
    background: rgba(85, 110, 230, 0.18);
    color: #C4CEFF;
}

.organization-stat > span {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.organization-stat strong {
    color: #FFFFFF;
    font-size: 1.05rem;
    line-height: 1.1;
}

.organization-stat small {
    color: #C0C7D7;
    font-size: 0.72rem;
}

.organization-jump-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.85rem 0.9rem;
    border-block: 1px solid rgba(255, 255, 255, 0.12);
    background: #252c3b;
}

.organization-jump-links a {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.65rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    color: #D0D6E4 !important;
    font-size: 0.72rem;
    font-weight: 650;
    text-decoration: none;
    transition: background-color 0.18s ease, border-color 0.18s ease;
}

.organization-jump-links a:hover {
    border-color: rgba(130, 148, 240, 0.55);
    background: rgba(85, 110, 230, 0.16);
    color: #FFFFFF !important;
}

.organization-jump-links a > i {
    color: #AEBBFF;
}

.organization-content {
    display: grid;
    gap: clamp(2.25rem, 5vw, 4rem);
    padding-block: clamp(2rem, 4vw, 3.25rem) clamp(2.5rem, 5vw, 4rem);
}

.organization-section {
    min-width: 0;
    scroll-margin-top: calc(var(--public-topbar-height) + 1.25rem);
}

.organization-section-heading {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    margin-bottom: 1.2rem;
}

.organization-section-icon {
    display: grid;
    width: 48px;
    height: 48px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid rgba(85, 110, 230, 0.25);
    border-radius: 0.8rem;
    background: var(--public-primary-soft);
    color: #AEBBFF;
    font-size: 1.2rem;
}

.organization-section-icon--blue {
    border-color: rgba(80, 165, 241, 0.24);
    background: rgba(80, 165, 241, 0.12);
    color: #78BAF5;
}

.organization-section-icon--green {
    border-color: rgba(52, 195, 143, 0.25);
    background: rgba(52, 195, 143, 0.12);
    color: #55D8A7;
}

.organization-section-icon--red {
    border-color: rgba(244, 106, 106, 0.24);
    background: rgba(244, 106, 106, 0.11);
    color: #F58C8C;
}

.organization-section-heading > div {
    min-width: 0;
    flex: 1 1 auto;
}

.organization-section-kicker {
    color: var(--public-primary);
    font-size: 0.63rem;
}

.organization-section-heading h2 {
    margin: 0.2rem 0 0;
    color: var(--public-text);
    font-size: clamp(1.2rem, 2.4vw, 1.65rem);
    font-weight: 740;
    letter-spacing: -0.025em;
    line-height: 1.25;
}

.organization-section-heading p {
    margin: 0.25rem 0 0;
    color: var(--public-text-secondary);
    font-size: 0.82rem;
    line-height: 1.5;
}

.organization-section-count {
    flex: 0 0 auto;
    padding: 0.35rem 0.6rem;
    border: 1px solid var(--public-border);
    border-radius: 999px;
    background: var(--public-surface);
    color: var(--public-text-muted);
    font-size: 0.68rem;
    font-weight: 650;
}

.organization-grid {
    display: grid;
    align-items: stretch;
    gap: 1rem;
}

.organization-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.organization-grid--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

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

.organization-unit-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 245px;
    flex-direction: column;
    align-items: flex-start;
    overflow: hidden;
    padding: 1.15rem;
    border: 1px solid var(--public-border);
    border-radius: 0.85rem;
    background:
        linear-gradient(145deg, rgba(85, 110, 230, 0.055), transparent 55%),
        var(--public-surface);
    box-shadow: 0 0.3rem 1rem rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.organization-unit-card::before {
    position: absolute;
    top: 0;
    right: 1rem;
    left: 1rem;
    height: 2px;
    background: linear-gradient(90deg, var(--public-primary), transparent);
    content: "";
    opacity: 0.72;
}

.organization-unit-card:hover {
    transform: translateY(-3px);
    border-color: rgba(85, 110, 230, 0.58);
    box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.16);
}

.organization-unit-icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    place-items: center;
    margin-bottom: 0.8rem;
    border: 1px solid rgba(85, 110, 230, 0.24);
    border-radius: 0.7rem;
    background: var(--public-primary-soft);
    color: #AEBBFF;
    font-size: 1.1rem;
}

.organization-unit-icon--blue {
    border-color: rgba(80, 165, 241, 0.24);
    background: rgba(80, 165, 241, 0.11);
    color: #78BAF5;
}

.organization-unit-icon--green {
    border-color: rgba(52, 195, 143, 0.24);
    background: rgba(52, 195, 143, 0.11);
    color: #55D8A7;
}

.organization-unit-icon--red {
    border-color: rgba(244, 106, 106, 0.23);
    background: rgba(244, 106, 106, 0.1);
    color: #F58C8C;
}

.organization-unit-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.5rem;
    margin-bottom: 0.45rem;
    border: 1px solid rgba(85, 110, 230, 0.22);
    border-radius: 999px;
    background: var(--public-primary-soft);
    color: #B5C0FF;
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1.2;
}

.organization-unit-badge--blue {
    border-color: rgba(80, 165, 241, 0.2);
    background: rgba(80, 165, 241, 0.1);
    color: #8BC8F8;
}

.organization-unit-badge--green {
    border-color: rgba(52, 195, 143, 0.22);
    background: rgba(52, 195, 143, 0.1);
    color: #69DDB3;
}

.organization-unit-badge--red {
    border-color: rgba(244, 106, 106, 0.2);
    background: rgba(244, 106, 106, 0.1);
    color: #F59797;
}

.organization-unit-card h3 {
    margin: 0;
    color: var(--public-text);
    font-size: 1rem;
    font-weight: 720;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.organization-unit-native {
    margin: 0.2rem 0 0;
    color: var(--public-text-muted);
    font-size: 0.8rem;
}

.organization-unit-description {
    display: -webkit-box;
    overflow: hidden;
    margin: 0.65rem 0 0.9rem;
    color: var(--public-text-secondary);
    font-size: 0.79rem;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

.organization-unit-leader {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 0.55rem;
    padding: 0.6rem 0;
    margin-top: auto;
    border-top: 1px solid var(--public-border);
    color: var(--public-primary);
}

.organization-unit-leader > i {
    flex: 0 0 auto;
}

.organization-unit-leader > span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 0.1rem;
}

.organization-unit-leader strong {
    overflow: hidden;
    color: var(--public-text);
    font-size: 0.74rem;
    font-weight: 680;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.organization-unit-leader small {
    overflow: hidden;
    color: var(--public-text-muted);
    font-size: 0.65rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.organization-unit-footer {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: auto;
    padding-top: 0.7rem;
    color: var(--public-text-muted);
    font-size: 0.67rem;
    font-weight: 650;
}

.organization-unit-footer > i {
    color: var(--public-success);
}

.organization-unit-card--compact {
    min-height: 220px;
}

.organization-unit-card--horizontal {
    min-height: 175px;
    flex-direction: row;
    gap: 1rem;
    padding: 1.2rem;
}

.organization-unit-card--horizontal .organization-unit-icon {
    margin: 0;
}

.organization-unit-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
}

.organization-unit-copy .organization-unit-description {
    margin-bottom: 0;
}

.organization-unit-copy .organization-unit-leader {
    margin-top: auto;
}

.organization-empty-state {
    display: grid;
    min-height: 300px;
    justify-items: center;
    align-content: center;
    padding: 2rem;
    border: 1px dashed var(--public-border);
    border-radius: 0.9rem;
    background: var(--public-surface);
    text-align: center;
}

.organization-empty-icon {
    display: grid;
    width: 56px;
    height: 56px;
    place-items: center;
    margin-bottom: 0.9rem;
    border: 1px solid var(--public-border);
    border-radius: 0.8rem;
    background: var(--public-primary-soft);
    color: #AEBBFF;
    font-size: 1.4rem;
}

.organization-empty-state h2 {
    margin: 0 0 0.4rem;
    color: var(--public-text);
    font-size: 1.2rem;
}

.organization-empty-state p {
    max-width: 32rem;
    margin: 0;
    color: var(--public-text-secondary);
    line-height: 1.6;
}

body.public-body[data-theme="light"] .organization-hero {
    background:
        radial-gradient(ellipse at 86% 30%, rgba(85, 110, 230, 0.11), transparent 34%),
        linear-gradient(125deg, #FFFFFF, #F0F3FA 58%, #E8EDF8);
}

body.public-body[data-theme="light"] .organization-hero-flag {
    opacity: 0.09;
}

body.public-body[data-theme="light"] .organization-hero-flag--dark {
    display: none;
}

body.public-body[data-theme="light"] .organization-hero-flag--light {
    display: block;
}

body.public-body[data-theme="light"] .organization-breadcrumb {
    color: var(--public-text-muted);
}

body.public-body[data-theme="light"] .organization-breadcrumb a {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .organization-breadcrumb a:hover,
body.public-body[data-theme="light"] .organization-hero-link {
    color: var(--public-primary-hover) !important;
}

body.public-body[data-theme="light"] .organization-breadcrumb [aria-current="page"],
body.public-body[data-theme="light"] .organization-hero h1 {
    color: var(--public-text);
}

body.public-body[data-theme="light"] .organization-eyebrow {
    border-color: rgba(85, 110, 230, 0.2);
    background: rgba(85, 110, 230, 0.08);
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .organization-hero-copy > p {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .organization-stat {
    border-color: var(--public-border);
    background: rgba(255, 255, 255, 0.8);
}

body.public-body[data-theme="light"] .organization-jump-links {
    border-color: var(--public-border);
    background: #F0F2F7;
}

body.public-body[data-theme="light"] .organization-jump-links a {
    border-color: var(--public-border);
    color: var(--public-text-secondary) !important;
}

body.public-body[data-theme="light"] .organization-jump-links a:hover {
    border-color: rgba(85, 110, 230, 0.45);
    background: rgba(85, 110, 230, 0.1);
    color: var(--public-primary-hover) !important;
}

body.public-body[data-theme="light"] .organization-jump-links a > i {
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .organization-stat strong {
    color: var(--public-text);
}

body.public-body[data-theme="light"] .organization-stat small {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .organization-stat > i,
body.public-body[data-theme="light"] .organization-section-icon,
body.public-body[data-theme="light"] .organization-unit-icon {
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .organization-section-icon--blue,
body.public-body[data-theme="light"] .organization-unit-icon--blue {
    color: #1769AA;
}

body.public-body[data-theme="light"] .organization-section-icon--green,
body.public-body[data-theme="light"] .organization-unit-icon--green {
    color: #16835E;
}

body.public-body[data-theme="light"] .organization-section-icon--red,
body.public-body[data-theme="light"] .organization-unit-icon--red {
    color: #B43B45;
}

body.public-body[data-theme="light"] .organization-section-kicker {
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .organization-unit-badge {
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .organization-unit-badge--blue {
    color: #1769AA;
}

body.public-body[data-theme="light"] .organization-unit-badge--green {
    color: #16835E;
}

body.public-body[data-theme="light"] .organization-unit-badge--red {
    color: #B43B45;
}

@media (max-width: 991.98px) {
    .organization-page {
        margin: -1.25rem -1rem 0;
    }

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

@media (max-width: 700px) {
    .organization-hero {
        padding-top: 1.5rem;
    }

    .organization-hero-content {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.35rem;
    }

    .organization-hero h1 {
        font-size: clamp(2rem, 8vw, 3rem);
    }

    .organization-hero-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.45rem;
    }

    .organization-stat {
        min-width: 0;
        min-height: 78px;
        align-items: flex-start;
        flex-direction: column;
        gap: 0.35rem;
        padding: 0.6rem;
    }

    .organization-stat > i {
        width: 30px;
        height: 30px;
        font-size: 0.85rem;
    }

    .organization-stat strong {
        font-size: 0.95rem;
    }

    .organization-stat small {
        font-size: 0.62rem;
        line-height: 1.25;
    }

    .organization-hero-flag {
        top: 42%;
        right: -3rem;
        width: 260px;
        opacity: 0.08;
    }

    .organization-grid--three,
    .organization-grid--two {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .organization-section-heading {
        align-items: flex-start;
    }

    .organization-section-count {
        margin-left: auto;
    }
}

@media (max-width: 575.98px) {
    .organization-container {
        width: min(100% - 2rem, 1200px);
    }

    .organization-grid--three,
    .organization-grid--four,
    .organization-grid--two {
        grid-template-columns: minmax(0, 1fr);
    }

    .organization-unit-card {
        min-height: 0;
    }

    .organization-unit-card--horizontal {
        flex-direction: row;
    }
}

@media (prefers-reduced-motion: reduce) {
    .organization-page *,
    .organization-page *::before,
    .organization-page *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

.media-gallery-page {
    min-width: 0;
    margin: -1.75rem -1.5rem 0;
}

.media-gallery-container {
    width: min(100% - 3rem, 1200px);
    margin-inline: auto;
}

.media-gallery-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(2.5rem, 5vw, 4.25rem) 0;
    border-bottom: 1px solid var(--public-border);
    background:
        radial-gradient(ellipse at 86% 18%, rgba(85, 110, 230, 0.2), transparent 36%),
        linear-gradient(125deg, #202638, #2A3042 58%, #343B50);
    color: #FFFFFF;
}

.media-gallery-hero-inner {
    position: relative;
    z-index: 1;
}

.media-gallery-hero-art {
    position: absolute;
    top: 50%;
    right: max(3%, calc((100% - 1200px) / 2));
    width: clamp(280px, 42vw, 520px);
    height: auto;
    opacity: 0.24;
    pointer-events: none;
    transform: translateY(-45%);
}

.media-gallery-hero-art--light {
    display: none;
}

.media-gallery-breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: #A6B0CF;
    font-size: 0.8rem;
}

.media-gallery-breadcrumb a {
    color: #A6B0CF;
    text-decoration: none;
}

.media-gallery-breadcrumb a:hover {
    color: #FFFFFF;
}

.media-gallery-breadcrumb > i {
    color: #8991A5;
    font-size: 0.65rem;
}

.media-gallery-breadcrumb [aria-current="page"] {
    overflow: hidden;
    max-width: min(50vw, 24rem);
    color: #EFF2F7;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.media-gallery-hero-content {
    display: flex;
    min-height: 190px;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
}

.media-gallery-hero-copy {
    max-width: 48rem;
}

.media-gallery-eyebrow {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.7rem;
    margin-bottom: 0.9rem;
    border: 1px solid rgba(130, 148, 240, 0.3);
    border-radius: 999px;
    background: rgba(85, 110, 230, 0.16);
    color: #C4CEFF;
    font-size: 0.7rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.media-gallery-hero h1 {
    margin: 0;
    color: #FFFFFF;
    font-size: clamp(2rem, 4.5vw, 3.4rem);
    font-weight: 760;
    letter-spacing: -0.045em;
    line-height: 1.08;
}

.media-gallery-hero-copy p {
    max-width: 38rem;
    margin: 0.9rem 0 0;
    color: #D0D6E4;
    font-size: clamp(0.98rem, 1.4vw, 1.12rem);
    line-height: 1.65;
}

.media-gallery-stats {
    display: grid;
    flex: 0 0 auto;
    gap: 0.55rem;
}

.media-gallery-stat {
    display: flex;
    min-width: 205px;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 0.8rem;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 0.75rem;
    background: rgba(255, 255, 255, 0.07);
    color: #FFFFFF;
    backdrop-filter: blur(8px);
}

.media-gallery-stat > i {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 0.6rem;
    background: rgba(130, 148, 240, 0.18);
    color: #C4CEFF;
}

.media-gallery-stat span {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.media-gallery-stat strong {
    font-size: 1.05rem;
    line-height: 1.1;
}

.media-gallery-stat small {
    color: #D0D6E4;
    font-size: 0.72rem;
}

.media-gallery-content {
    padding-top: clamp(1.75rem, 4vw, 2.75rem);
    padding-bottom: clamp(2rem, 5vw, 4rem);
}

.media-gallery-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.media-gallery-section-kicker {
    color: #B5C0FF;
    font-size: 0.7rem;
    font-weight: 750;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.media-gallery-section-heading h2 {
    margin: 0.25rem 0 0;
    color: var(--public-text);
    font-size: clamp(1.35rem, 2.5vw, 1.8rem);
    font-weight: 750;
    letter-spacing: -0.03em;
}

.media-gallery-section-heading p {
    margin: 0.4rem 0 0;
    color: var(--public-text-secondary);
    font-size: 0.88rem;
}

.media-gallery-album-count {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.7rem;
    border: 1px solid var(--public-border);
    border-radius: 999px;
    background: var(--public-surface);
    color: var(--public-text-secondary);
    font-size: 0.75rem;
    font-weight: 700;
}

.media-gallery-album-count > i {
    color: #AEBBFF;
}

.media-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.15rem;
}

.media-album-card {
    display: flex;
    min-width: 0;
    overflow: hidden;
    flex-direction: column;
    border: 1px solid var(--public-border);
    border-radius: 0.9rem;
    background: var(--public-surface);
    box-shadow: 0 0.35rem 1.1rem rgba(0, 0, 0, 0.12);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.media-album-card:hover {
    transform: translateY(-4px);
    border-color: rgba(85, 110, 230, 0.72);
    box-shadow: 0 0.85rem 1.7rem rgba(0, 0, 0, 0.2);
}

.media-album-cover {
    position: relative;
    display: grid;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    place-items: center;
    background: var(--public-surface-raised);
    color: inherit;
}

.media-album-cover > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.media-album-card:hover .media-album-cover > img {
    transform: scale(1.045);
}

.media-album-cover-shade {
    position: absolute;
    inset: 30% 0 0;
    background: linear-gradient(180deg, transparent, rgba(12, 16, 27, 0.58));
    pointer-events: none;
}

.media-album-photo-badge {
    position: absolute;
    right: 0.75rem;
    bottom: 0.75rem;
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.6rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 999px;
    background: rgba(25, 30, 44, 0.86);
    color: #FFFFFF;
    font-size: 0.7rem;
    font-weight: 750;
    line-height: 1;
    backdrop-filter: blur(8px);
}

.media-album-open {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 50%;
    background: rgba(25, 30, 44, 0.72);
    color: #FFFFFF;
    opacity: 0;
    transform: translateY(3px);
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.media-album-card:hover .media-album-open,
.media-album-cover:focus-visible .media-album-open {
    opacity: 1;
    transform: translateY(0);
}

.media-album-placeholder {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0.5rem;
    background:
        radial-gradient(circle at 75% 20%, rgba(85, 110, 230, 0.18), transparent 36%),
        linear-gradient(135deg, var(--public-surface-raised), var(--public-surface));
    color: var(--public-text-muted);
    font-size: 0.75rem;
}

.media-album-placeholder > i {
    color: #AEBBFF;
    font-size: 2.5rem;
}

.media-album-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 1rem 1.05rem 1.05rem;
}

.media-album-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.65rem;
}

.media-album-date {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--public-text-muted);
    font-size: 0.72rem;
}

.media-album-date > i {
    color: #AEBBFF;
}

.media-album-type {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: 0.3rem 0.5rem;
    border: 1px solid rgba(130, 148, 240, 0.22);
    border-radius: 999px;
    background: var(--public-primary-soft);
    color: #C4CEFF;
    font-size: 0.64rem;
    font-weight: 700;
    line-height: 1;
}

.media-album-body h3 {
    display: -webkit-box;
    overflow: hidden;
    margin: 0 0 0.3rem;
    font-size: 1.05rem;
    font-weight: 730;
    letter-spacing: -0.018em;
    line-height: 1.4;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.media-album-body h3 a {
    color: var(--public-text) !important;
    text-decoration: none;
}

.media-album-body h3 a:hover {
    color: #B5C0FF !important;
}

.media-album-local-title {
    margin: 0 0 0.4rem;
    color: var(--public-text-secondary);
    font-size: 0.8rem;
}

.media-album-description {
    display: -webkit-box;
    overflow: hidden;
    min-height: 3.2em;
    margin: 0.2rem 0 0.9rem;
    color: var(--public-text-secondary);
    font-size: 0.8rem;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.media-album-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    align-self: flex-start;
    margin-top: auto;
    color: #B5C0FF !important;
    font-size: 0.78rem;
    font-weight: 750;
    text-decoration: none;
}

.media-album-link:hover {
    color: var(--public-primary) !important;
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.media-album-cover:focus-visible,
.media-album-body a:focus-visible {
    outline: 3px solid var(--public-info);
    outline-offset: 3px;
}

.media-gallery-empty {
    display: grid;
    min-height: 280px;
    justify-items: center;
    align-content: center;
    padding: 2rem 1rem;
    border: 1px dashed var(--public-border);
    border-radius: 0.85rem;
    background: var(--public-surface);
    text-align: center;
}

.media-gallery-empty-icon {
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    margin-bottom: 0.9rem;
    border: 1px solid var(--public-border);
    border-radius: 0.8rem;
    background: var(--public-primary-soft);
    color: #AEBBFF;
    font-size: 1.35rem;
}

.media-gallery-empty h2 {
    margin: 0 0 0.4rem;
    color: var(--public-text);
    font-size: 1.2rem;
}

.media-gallery-empty p {
    max-width: 32rem;
    margin: 0;
    color: var(--public-text-secondary);
    line-height: 1.6;
}

body.public-body[data-theme="light"] .media-gallery-hero {
    background:
        radial-gradient(ellipse at 86% 18%, rgba(85, 110, 230, 0.12), transparent 36%),
        linear-gradient(125deg, #FFFFFF, #F0F3FA 58%, #E8EDF8);
}

body.public-body[data-theme="light"] .media-gallery-hero-art--dark {
    display: none;
}

body.public-body[data-theme="light"] .media-gallery-hero-art--light {
    display: block;
    opacity: 0.2;
}

body.public-body[data-theme="light"] .media-gallery-breadcrumb {
    color: var(--public-text-muted);
}

body.public-body[data-theme="light"] .media-gallery-breadcrumb a {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .media-gallery-breadcrumb a:hover {
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .media-gallery-breadcrumb [aria-current="page"],
body.public-body[data-theme="light"] .media-gallery-hero h1 {
    color: var(--public-text);
}

body.public-body[data-theme="light"] .media-gallery-eyebrow,
body.public-body[data-theme="light"] .media-album-type {
    border-color: rgba(85, 110, 230, 0.2);
    background: rgba(85, 110, 230, 0.09);
    color: #35499E;
}

body.public-body[data-theme="light"] .media-gallery-hero-copy p {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .media-gallery-stat {
    border-color: var(--public-border);
    background: rgba(255, 255, 255, 0.82);
    color: var(--public-text);
}

body.public-body[data-theme="light"] .media-gallery-stat > i,
body.public-body[data-theme="light"] .media-gallery-album-count > i,
body.public-body[data-theme="light"] .media-album-date > i,
body.public-body[data-theme="light"] .media-album-placeholder > i,
body.public-body[data-theme="light"] .media-gallery-empty-icon {
    color: #35499E;
}

body.public-body[data-theme="light"] .media-gallery-stat small {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .media-gallery-section-kicker,
body.public-body[data-theme="light"] .media-album-body h3 a:hover,
body.public-body[data-theme="light"] .media-album-link {
    color: #35499E !important;
}

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

@media (max-width: 991.98px) {
    .media-gallery-page {
        margin: -1.25rem -1rem 0;
    }
}

@media (max-width: 700px) {
    .media-gallery-hero-content {
        min-height: 0;
        align-items: flex-start;
        flex-direction: column;
        gap: 1.4rem;
    }

    .media-gallery-hero-art {
        top: 43%;
        right: 0;
        width: min(72vw, 270px);
        opacity: 0.14;
    }

    .media-gallery-stats {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .media-gallery-stat {
        min-width: 0;
    }
}

@media (max-width: 575.98px) {
    .media-gallery-container {
        width: min(100% - 2rem, 1200px);
    }

    .media-gallery-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .media-gallery-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (prefers-reduced-motion: reduce) {
    .media-gallery-page *,
    .media-gallery-page *::before,
    .media-gallery-page *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

.speeches-page {
    min-width: 0;
    margin: -1.75rem -1.5rem 0;
}

.speeches-container {
    width: min(100% - 3rem, 1200px);
    margin-inline: auto;
}

.speeches-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(2.5rem, 5vw, 4.25rem) 0;
    border-bottom: 1px solid var(--public-border);
    background:
        radial-gradient(ellipse at 86% 18%, rgba(85, 110, 230, 0.2), transparent 36%),
        linear-gradient(125deg, #202638, #2A3042 58%, #343B50);
    color: #FFFFFF;
}

.speeches-hero-inner {
    position: relative;
    z-index: 1;
}

.speeches-hero-art {
    position: absolute;
    top: 50%;
    right: max(3%, calc((100% - 1200px) / 2));
    width: clamp(270px, 42vw, 520px);
    height: auto;
    opacity: 0.24;
    pointer-events: none;
    transform: translateY(-45%);
}

.speeches-hero-art--light {
    display: none;
}

.speeches-breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: #A6B0CF;
    font-size: 0.8rem;
}

.speeches-breadcrumb a {
    color: #A6B0CF;
    text-decoration: none;
}

.speeches-breadcrumb a:hover {
    color: #FFFFFF;
}

.speeches-breadcrumb > i {
    color: #8991A5;
    font-size: 0.65rem;
}

.speeches-breadcrumb [aria-current="page"] {
    overflow: hidden;
    max-width: min(65vw, 28rem);
    color: #EFF2F7;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.speeches-hero-content {
    display: flex;
    min-height: 190px;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
}

.speeches-hero-copy {
    max-width: 48rem;
}

.speeches-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 32px;
    padding: 0.4rem 0.7rem;
    margin-bottom: 0.9rem;
    border: 1px solid rgba(130, 148, 240, 0.3);
    border-radius: 999px;
    background: rgba(85, 110, 230, 0.16);
    color: #C4CEFF;
    font-size: 0.7rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.speeches-eyebrow > i {
    font-size: 0.82rem;
}

.speeches-hero h1 {
    margin: 0;
    color: #FFFFFF;
    font-size: clamp(2rem, 4.5vw, 3.4rem);
    font-weight: 760;
    letter-spacing: -0.045em;
    line-height: 1.08;
}

.speeches-hero-copy p {
    max-width: 38rem;
    margin: 0.9rem 0 0;
    color: #D0D6E4;
    font-size: clamp(0.98rem, 1.4vw, 1.12rem);
    line-height: 1.65;
}

.speeches-hero-count {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.8rem;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 0.8rem;
    background: rgba(255, 255, 255, 0.07);
    color: #FFFFFF;
    backdrop-filter: blur(8px);
}

.speeches-hero-count > i {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 0.65rem;
    background: rgba(130, 148, 240, 0.18);
    color: #C4CEFF;
    font-size: 1.2rem;
}

.speeches-hero-count span {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.speeches-hero-count strong {
    font-size: 1.25rem;
    line-height: 1;
}

.speeches-hero-count small {
    color: #D0D6E4;
    font-size: 0.72rem;
}

.speeches-content {
    padding-top: clamp(1.25rem, 3vw, 2rem);
    padding-bottom: clamp(2rem, 5vw, 4rem);
}

.speeches-toolbar {
    padding: 1rem;
    margin-bottom: 1.35rem;
    border: 1px solid var(--public-border);
    border-radius: 0.85rem;
    background: var(--public-surface);
    box-shadow: 0 0.35rem 1.1rem rgba(0, 0, 0, 0.1);
}

.speeches-filter-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(190px, 0.48fr) auto;
    align-items: center;
    gap: 0.7rem;
}

.speeches-search-field {
    position: relative;
    min-width: 0;
}

.speeches-search-field > i {
    position: absolute;
    top: 50%;
    left: 0.9rem;
    color: var(--public-text-muted);
    pointer-events: none;
    transform: translateY(-50%);
}

.speeches-search-field .form-control,
.speeches-leader-field .form-select {
    min-height: 46px;
    border-color: var(--public-border);
    background-color: var(--public-bg);
    color: var(--public-text);
}

.speeches-search-field .form-control {
    padding-left: 2.6rem;
}

.speeches-search-field .form-control::placeholder {
    color: var(--public-text-muted);
}

.speeches-filter-actions {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.speeches-filter-button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.65rem 0.9rem;
    border: 1px solid var(--public-primary);
    border-radius: 0.55rem;
    background: var(--public-primary);
    color: #FFFFFF !important;
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 0.18s ease, border-color 0.18s ease;
}

.speeches-filter-button:hover {
    border-color: var(--public-primary-hover);
    background: var(--public-primary-hover);
    color: #FFFFFF !important;
}

.speeches-reset-link {
    padding: 0.5rem 0.25rem;
    color: var(--public-text-secondary) !important;
    font-size: 0.82rem;
    font-weight: 650;
    text-decoration: none;
}

.speeches-reset-link:hover {
    color: var(--public-text) !important;
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.speeches-filter-button:focus-visible,
.speeches-reset-link:focus-visible,
.speech-card a:focus-visible {
    outline: 3px solid var(--public-info);
    outline-offset: 3px;
}

.speeches-results-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 0.15rem 0.1rem;
    color: var(--public-text-muted);
    font-size: 0.78rem;
}

.speeches-filter-active {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #B5C0FF;
    font-weight: 650;
}

.speeches-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.1rem;
}

.speech-card {
    display: flex;
    min-width: 0;
    min-height: 260px;
    flex-direction: column;
    padding: 1.2rem;
    border: 1px solid var(--public-border);
    border-radius: 0.85rem;
    background:
        radial-gradient(circle at 100% 0, rgba(85, 110, 230, 0.08), transparent 40%),
        var(--public-surface);
    box-shadow: 0 0.35rem 1.1rem rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.speech-card:hover {
    transform: translateY(-3px);
    border-color: rgba(85, 110, 230, 0.72);
    box-shadow: 0 0.85rem 1.7rem rgba(0, 0, 0, 0.18);
}

.speech-card-topline {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.speech-card-icon {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid rgba(130, 148, 240, 0.2);
    border-radius: 0.65rem;
    background: var(--public-primary-soft);
    color: #AEBBFF;
    font-size: 1.25rem;
}

.speech-card-kind {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    padding: 0.3rem 0.55rem;
    border: 1px solid rgba(130, 148, 240, 0.24);
    border-radius: 999px;
    background: var(--public-primary-soft);
    color: #C4CEFF;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1;
}

.speech-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.9rem;
    margin-bottom: 0.65rem;
    color: var(--public-text-muted);
    font-size: 0.72rem;
}

.speech-card-meta span,
.speech-card-location {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 0.35rem;
}

.speech-card-meta i {
    color: var(--public-primary);
}

.speech-card h2 {
    display: -webkit-box;
    overflow: hidden;
    margin: 0 0 0.55rem;
    font-size: 1.08rem;
    font-weight: 730;
    letter-spacing: -0.018em;
    line-height: 1.4;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.speech-card h2 a {
    color: var(--public-text) !important;
    text-decoration: none;
}

.speech-card h2 a:hover {
    color: #B5C0FF !important;
}

.speech-card-summary {
    display: -webkit-box;
    overflow: hidden;
    min-height: 3.1em;
    margin: 0 0 1rem;
    color: var(--public-text-secondary);
    font-size: 0.84rem;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.speech-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding-top: 0.8rem;
    margin-top: auto;
    border-top: 1px solid var(--public-border);
}

.speech-card-location {
    overflow: hidden;
    color: var(--public-text-muted);
    font-size: 0.72rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.speech-card-location i {
    flex: 0 0 auto;
    color: var(--public-primary);
}

.speech-read-link {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.35rem;
    color: #B5C0FF !important;
    font-size: 0.76rem;
    font-weight: 750;
    text-decoration: none;
}

.speech-read-link:hover {
    color: var(--public-primary) !important;
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.speeches-empty-state {
    display: grid;
    min-height: 280px;
    justify-items: center;
    align-content: center;
    padding: 2rem 1rem;
    border: 1px dashed var(--public-border);
    border-radius: 0.85rem;
    background: var(--public-surface);
    text-align: center;
}

.speeches-empty-icon {
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    margin-bottom: 0.9rem;
    border: 1px solid var(--public-border);
    border-radius: 0.8rem;
    background: var(--public-primary-soft);
    color: var(--public-primary);
    font-size: 1.35rem;
}

.speeches-empty-state h2 {
    margin: 0 0 0.4rem;
    color: var(--public-text);
    font-size: 1.2rem;
}

.speeches-empty-state p {
    max-width: 32rem;
    margin: 0 0 1.1rem;
    color: var(--public-text-secondary);
    line-height: 1.6;
}

.speeches-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    margin-top: 1.5rem;
    border: 1px solid var(--public-border);
    border-radius: 0.8rem;
    background: var(--public-surface);
}

.speeches-pagination-status {
    color: var(--public-text-muted);
    font-size: 0.8rem;
    white-space: nowrap;
}

.speeches-pagination-status strong {
    color: var(--public-text);
}

.speeches-pagination-controls,
.speeches-page-numbers {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.speeches-page-step,
.speeches-page-number {
    display: inline-flex;
    min-width: 2.45rem;
    min-height: 2.45rem;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.45rem 0.7rem;
    border: 1px solid var(--public-border);
    border-radius: 0.55rem;
    background: var(--public-bg);
    color: var(--public-text-secondary) !important;
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}

.speeches-page-step:hover,
.speeches-page-number:hover {
    border-color: var(--public-primary);
    background: var(--public-primary-soft);
    color: #B5C0FF !important;
}

.speeches-page-number.is-current {
    border-color: var(--public-primary);
    background: var(--public-primary);
    color: #FFFFFF !important;
}

.speeches-page-step.is-disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.speeches-page-ellipsis {
    color: var(--public-text-muted);
}

.speeches-pagination a:focus-visible {
    outline: 3px solid var(--public-info);
    outline-offset: 2px;
}

body.public-body[data-theme="light"] .speeches-hero {
    background:
        radial-gradient(ellipse at 86% 18%, rgba(85, 110, 230, 0.12), transparent 36%),
        linear-gradient(125deg, #FFFFFF, #F0F3FA 58%, #E8EDF8);
}

body.public-body[data-theme="light"] .speeches-hero-art--dark {
    display: none;
}

body.public-body[data-theme="light"] .speeches-hero-art--light {
    display: block;
    opacity: 0.2;
}

body.public-body[data-theme="light"] .speeches-breadcrumb {
    color: var(--public-text-muted);
}

body.public-body[data-theme="light"] .speeches-breadcrumb a {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .speeches-breadcrumb a:hover {
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .speeches-breadcrumb [aria-current="page"],
body.public-body[data-theme="light"] .speeches-hero h1 {
    color: var(--public-text);
}

body.public-body[data-theme="light"] .speeches-filter-active,
body.public-body[data-theme="light"] .speech-card h2 a:hover,
body.public-body[data-theme="light"] .speech-read-link {
    color: #35499E !important;
}

body.public-body[data-theme="light"] .speeches-eyebrow {
    border-color: rgba(85, 110, 230, 0.2);
    background: rgba(85, 110, 230, 0.09);
    color: #35499E;
}

body.public-body[data-theme="light"] .speech-card-kind {
    border-color: rgba(85, 110, 230, 0.2);
    background: rgba(85, 110, 230, 0.09);
    color: #35499E;
}

body.public-body[data-theme="light"] .speeches-hero-copy p {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .speeches-hero-count {
    border-color: var(--public-border);
    background: rgba(255, 255, 255, 0.82);
    color: var(--public-text);
}

body.public-body[data-theme="light"] .speeches-hero-count > i {
    background: var(--public-primary-soft);
    color: #35499E;
}

body.public-body[data-theme="light"] .speeches-hero-count small {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .speech-card-icon {
    color: #35499E;
}

body.public-body[data-theme="light"] .speeches-page-number.is-current {
    color: #FFFFFF !important;
}

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

@media (max-width: 991.98px) {
    .speeches-page {
        margin: -1.25rem -1rem 0;
    }

    .speeches-filter-form {
        grid-template-columns: minmax(0, 1fr) minmax(180px, 0.7fr);
    }

    .speeches-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }
}

@media (max-width: 700px) {
    .speeches-hero-content {
        min-height: 0;
        align-items: flex-start;
        flex-direction: column;
        gap: 1.4rem;
    }

    .speeches-hero-art {
        top: 40%;
        right: -3rem;
        width: 290px;
        opacity: 0.16;
    }

    .speeches-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 575.98px) {
    .speeches-container {
        width: min(100% - 2rem, 1200px);
    }

    .speeches-filter-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .speeches-filter-actions {
        grid-column: auto;
        justify-content: stretch;
    }

    .speeches-filter-button {
        flex: 1 1 auto;
    }

    .speeches-results-summary {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.4rem;
    }

    .speeches-pagination {
        align-items: flex-start;
        flex-direction: column;
    }

    .speeches-pagination-controls {
        width: 100%;
        justify-content: space-between;
    }

    .speeches-page-step span {
        position: absolute;
        overflow: hidden;
        width: 1px;
        height: 1px;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
    }
}

@media (prefers-reduced-motion: reduce) {
    .speeches-page *,
    .speeches-page *::before,
    .speeches-page *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

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

@media (max-width: 991.98px) {
    .news-page {
        margin: -1.25rem -1rem 0;
    }
}

@media (max-width: 767.98px) {
    .news-filter-form {
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr);
    }

    .news-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .news-filter-button {
        flex: 1 1 auto;
    }
}

@media (max-width: 575.98px) {
    .news-page-container {
        width: min(100% - 2rem, 1200px);
    }

    .news-hero {
        padding-block: 2rem;
    }

    .news-hero-content {
        align-items: flex-start;
        flex-direction: column;
        gap: 1.25rem;
    }

    .news-hero-flag {
        top: 58%;
        right: -3.5rem;
        width: 260px;
        opacity: 0.08;
    }

    .news-hero-count {
        padding: 0.65rem 0.8rem;
    }

    .news-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
    }

    .news-card--lead {
        grid-column: auto;
        grid-template-columns: minmax(0, 1fr);
    }

    .news-card-media {
        aspect-ratio: 16 / 8.5;
    }

    .news-card--lead .news-card-media {
        min-height: 0;
        aspect-ratio: 16 / 8.5;
    }

    .news-card--lead .news-card-body {
        padding: 1.05rem 1.1rem 1rem;
    }

    .news-card--lead h2 {
        font-size: 1.15rem;
        -webkit-line-clamp: 2;
    }

    .news-card--lead .news-card-summary {
        min-height: 4.35em;
        -webkit-line-clamp: 3;
    }

    .news-toolbar {
        padding: 0.75rem;
    }

    .news-filter-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .news-filter-actions {
        grid-column: auto;
    }

    .news-results-summary {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.35rem;
    }

    .news-card-footer {
        align-items: flex-start;
    }

    .news-pagination {
        align-items: stretch;
        flex-direction: column;
        gap: 0.65rem;
        padding: 0.8rem;
    }

    .news-pagination-status {
        text-align: center;
    }

    .news-pagination-controls {
        justify-content: space-between;
        gap: 0.25rem;
    }

    .news-page-numbers {
        gap: 0.2rem;
    }

    .news-page-numbers .news-page-number:not(.is-current),
    .news-page-ellipsis {
        display: none;
    }

    .news-page-step {
        min-width: 2.4rem;
        padding-inline: 0.55rem;
    }
}

.news-detail-hero-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: clamp(1.5rem, 4vw, 3rem);
}

.news-detail-hero-copy {
    min-width: 0;
    max-width: 58rem;
}

.news-detail-eyebrow-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0.35rem;
}

.news-detail-eyebrow-row .news-eyebrow {
    margin-bottom: 0.55rem;
}

.news-detail-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.55rem;
    padding: 0.35rem 0.65rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 750;
}

.news-detail-badge--breaking {
    border-color: rgba(244, 106, 106, 0.5);
    background: rgba(112, 36, 45, 0.82);
    color: #FFE2E2;
}

.news-detail-badge--featured {
    border-color: rgba(241, 180, 76, 0.5);
    background: rgba(100, 72, 25, 0.82);
    color: #FFE2A8;
}

.news-detail-hero h1 {
    margin: 0;
    color: #FFFFFF;
    font-size: clamp(1.9rem, 4.1vw, 3.2rem);
    font-weight: 760;
    letter-spacing: -0.04em;
    line-height: 1.14;
    overflow-wrap: anywhere;
}

.news-detail-local-title {
    margin: 0.75rem 0 0;
    color: #D0D6E4;
    font-size: 1.05rem;
    line-height: 1.6;
}

.news-detail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1.2rem;
    margin-top: 1.3rem;
    color: #D0D6E4;
    font-size: 0.84rem;
}

.news-detail-meta span {
    display: inline-flex;
    align-items: flex-start;
    gap: 0.45rem;
    overflow-wrap: anywhere;
}

.news-detail-meta i {
    flex: 0 0 auto;
    color: #F1B44C;
}

.news-detail-back-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.65rem 0.85rem;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 0.7rem;
    color: #E1E5F0;
    font-size: 0.88rem;
    font-weight: 650;
    text-decoration: none;
    white-space: nowrap;
}

.news-detail-back-link:hover {
    border-color: rgba(255, 255, 255, 0.4);
    color: #FFFFFF;
}

.news-detail-content {
    padding-top: 1.5rem;
    padding-bottom: clamp(2.5rem, 6vw, 4.5rem);
}

.news-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(17rem, 0.8fr);
    align-items: start;
    gap: clamp(1.25rem, 3vw, 2rem);
}

.news-detail-main,
.news-detail-sidebar {
    display: grid;
    gap: 1.25rem;
    min-width: 0;
}

.news-detail-featured-image {
    overflow: hidden;
    margin: 0;
    border: 1px solid var(--public-border);
    border-radius: 1rem;
    background: var(--public-surface);
    box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.12);
}

.news-detail-featured-image img {
    display: block;
    width: 100%;
    max-height: 32rem;
    object-fit: cover;
}

.news-detail-featured-image figcaption {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.7rem 1rem;
    color: var(--public-text-muted);
    font-size: 0.8rem;
}

.news-detail-article,
.news-detail-related,
.news-detail-library {
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid var(--public-border);
    border-radius: 1rem;
    background: var(--public-surface);
    box-shadow: 0 0.35rem 1.1rem rgba(0, 0, 0, 0.1);
}

.news-detail-summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.8rem;
    margin-bottom: 1.75rem;
    padding: 1rem 1.1rem;
    border: 1px solid color-mix(in srgb, var(--public-warning) 32%, var(--public-border));
    border-left: 4px solid var(--public-warning);
    border-radius: 0.75rem;
    background: color-mix(in srgb, var(--public-warning) 7%, var(--public-surface));
}

.news-detail-summary-icon {
    color: var(--public-warning);
    font-size: 1.35rem;
}

.news-detail-summary p {
    margin: 0;
    color: var(--public-text);
    font-size: 1.04rem;
    font-weight: 600;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.news-detail-body {
    color: var(--public-text-secondary);
    font-size: 1rem;
    line-height: 1.9;
    overflow-wrap: anywhere;
}

.news-detail-body > :last-child {
    margin-bottom: 0;
}

.news-detail-body h2,
.news-detail-body h3,
.news-detail-body h4,
.news-detail-body h5 {
    margin-top: 1.6em;
    color: var(--public-text);
    line-height: 1.35;
}

.news-detail-body img,
.news-detail-body video,
.news-detail-body iframe {
    max-width: 100%;
}

.news-detail-body img {
    height: auto;
    border-radius: 0.65rem;
}

.news-detail-body blockquote {
    margin-inline: 0;
    padding: 0.75rem 1rem;
    border-left: 3px solid var(--public-primary);
    background: var(--public-surface-raised);
}

.news-detail-body table {
    display: block;
    overflow-x: auto;
    max-width: 100%;
}

.news-detail-article-footer {
    display: grid;
    gap: 1.2rem;
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--public-border);
}

.news-detail-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.news-detail-tags strong {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-right: 0.2rem;
    color: var(--public-text);
    font-size: 0.86rem;
}

.news-detail-tags > span {
    padding: 0.3rem 0.6rem;
    border: 1px solid var(--public-border);
    border-radius: 999px;
    background: var(--public-surface-raised);
    color: var(--public-text-secondary);
    font-size: 0.78rem;
    overflow-wrap: anywhere;
}

.news-detail-share {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
}

.news-detail-share > strong {
    color: var(--public-text);
    font-size: 0.86rem;
}

.news-detail-share-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.news-detail-share-actions a {
    display: grid;
    width: 2.45rem;
    height: 2.45rem;
    place-items: center;
    border: 1px solid var(--public-border);
    border-radius: 0.7rem;
    background: var(--public-surface-raised);
    color: var(--public-text-secondary);
    text-decoration: none;
}

.news-detail-share-actions a:hover {
    border-color: var(--public-primary);
    color: var(--public-primary);
}

.news-detail-return-link {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    gap: 0.5rem;
    color: var(--public-text-secondary);
    font-weight: 650;
    text-decoration: none;
}

.news-detail-return-link:hover {
    color: var(--public-primary-hover);
}

.news-detail-sidebar-heading {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 1rem;
}

.news-detail-sidebar-icon,
.news-detail-library-icon {
    display: grid;
    flex: 0 0 2.65rem;
    width: 2.65rem;
    height: 2.65rem;
    place-items: center;
    border-radius: 0.8rem;
    background: var(--public-primary-soft);
    color: var(--public-primary);
    font-size: 1.2rem;
}

.news-detail-sidebar-kicker {
    display: block;
    margin-bottom: 0.2rem;
    color: var(--public-primary);
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.news-detail-sidebar-heading h2,
.news-detail-library h2 {
    margin: 0;
    color: var(--public-text);
    font-size: 1.2rem;
    line-height: 1.35;
}

.news-detail-related-list {
    display: grid;
}

.news-detail-related-item {
    display: grid;
    gap: 0.5rem;
    padding-block: 1rem;
    border-top: 1px solid var(--public-border);
}

.news-detail-related-date {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--public-text-muted);
    font-size: 0.76rem;
}

.news-detail-related-item h3 {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.news-detail-related-item h3 a {
    color: var(--public-text);
    text-decoration: none;
}

.news-detail-related-item h3 a:hover,
.news-detail-related-link:hover {
    color: var(--public-primary-hover);
}

.news-detail-related-item p,
.news-detail-no-related {
    margin: 0;
    color: var(--public-text-secondary);
    font-size: 0.84rem;
    line-height: 1.6;
}

.news-detail-related-link,
.news-detail-library > a {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    gap: 0.4rem;
    color: var(--public-primary);
    font-size: 0.82rem;
    font-weight: 650;
    text-decoration: none;
}

.news-detail-library-icon {
    margin-bottom: 1rem;
    background: rgba(241, 180, 76, 0.13);
    color: var(--public-warning);
}

.news-detail-library h2 {
    margin-top: 0.3rem;
}

.news-detail-library p {
    margin: 0.7rem 0 1rem;
    color: var(--public-text-secondary);
    font-size: 0.88rem;
    line-height: 1.65;
}

body.public-body[data-theme="light"] .news-detail-hero h1 {
    color: var(--public-text);
}

body.public-body[data-theme="light"] .news-detail-local-title,
body.public-body[data-theme="light"] .news-detail-meta {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .news-detail-back-link {
    border-color: var(--public-border);
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .news-detail-back-link:hover {
    border-color: var(--public-primary);
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .news-detail-badge--breaking {
    color: #B02A37;
}

body.public-body[data-theme="light"] .news-detail-badge--featured {
    color: #805B12;
}

@media (max-width: 767.98px) {
    .news-detail-hero-content,
    .news-detail-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .news-detail-hero-content {
        gap: 1.25rem;
    }

    .news-detail-back-link {
        justify-self: start;
    }
}

@media (max-width: 575.98px) {
    .news-detail-meta {
        flex-direction: column;
        gap: 0.65rem;
    }

    .news-detail-article-footer {
        gap: 1rem;
    }
}

.speech-detail-hero-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: clamp(1.5rem, 4vw, 3rem);
}

.speech-detail-hero-copy {
    min-width: 0;
    max-width: 58rem;
}

.speech-detail-hero h1 {
    margin: 0;
    color: #FFFFFF;
    font-size: clamp(1.9rem, 4.1vw, 3.2rem);
    font-weight: 760;
    letter-spacing: -0.04em;
    line-height: 1.14;
    overflow-wrap: anywhere;
}

.speech-detail-local-title {
    margin: 0.75rem 0 0;
    color: #D0D6E4;
    font-size: 1.05rem;
    line-height: 1.6;
}

.speech-detail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.25rem;
}

.speech-detail-meta > span {
    display: inline-flex;
    align-items: flex-start;
    gap: 0.45rem;
    max-width: 100%;
    padding: 0.45rem 0.7rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 0.65rem;
    background: rgba(255, 255, 255, 0.06);
    color: #E1E5F0;
    font-size: 0.82rem;
    overflow-wrap: anywhere;
}

.speech-detail-meta i {
    flex: 0 0 auto;
    color: #AEBBFF;
}

.speech-detail-back-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.65rem 0.85rem;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 0.7rem;
    color: #E1E5F0;
    font-size: 0.88rem;
    font-weight: 650;
    text-decoration: none;
    white-space: nowrap;
}

.speech-detail-back-link:hover {
    border-color: rgba(255, 255, 255, 0.4);
    color: #FFFFFF;
}

.speech-detail-content {
    padding-top: 1.5rem;
    padding-bottom: clamp(2.5rem, 6vw, 4.5rem);
}

.speech-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(17rem, 0.8fr);
    align-items: start;
    gap: clamp(1.25rem, 3vw, 2rem);
}

.speech-detail-main,
.speech-detail-sidebar {
    display: grid;
    gap: 1.25rem;
    min-width: 0;
}

.speech-detail-video {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    border: 1px solid var(--public-border);
    border-radius: 1rem;
    background: #101522;
    box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.16);
}

.speech-detail-video iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.speech-detail-audio,
.speech-detail-transcript-card,
.speech-detail-speaker-card,
.speech-detail-facts-card {
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid var(--public-border);
    border-radius: 1rem;
    background: var(--public-surface);
    color: var(--public-text-secondary);
    box-shadow: 0 0.35rem 1.1rem rgba(0, 0, 0, 0.1);
}

.speech-detail-audio {
    display: flex;
    align-items: center;
    gap: 0.9rem;
}

.speech-detail-audio-icon,
.speech-detail-section-icon {
    display: grid;
    flex: 0 0 2.8rem;
    width: 2.8rem;
    height: 2.8rem;
    place-items: center;
    border-radius: 0.85rem;
    background: var(--public-primary-soft);
    color: #AEBBFF;
    font-size: 1.25rem;
}

.speech-detail-audio-copy {
    display: grid;
    flex: 0 0 auto;
    gap: 0.2rem;
}

.speech-detail-audio-copy strong {
    color: var(--public-text);
}

.speech-detail-audio-copy span {
    color: var(--public-text-muted);
    font-size: 0.8rem;
}

.speech-detail-audio audio {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
}

.speech-detail-section-heading {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    margin-bottom: 1.5rem;
}

.speech-detail-section-heading--compact {
    align-items: flex-start;
}

.speech-detail-section-icon--accent {
    background: rgba(241, 180, 76, 0.13);
    color: #F1B44C;
}

.speech-detail-kicker {
    display: block;
    margin-bottom: 0.2rem;
    color: #B5C0FF;
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.speech-detail-section-heading h2 {
    margin: 0;
    color: var(--public-text);
    font-size: clamp(1.2rem, 2.4vw, 1.55rem);
    line-height: 1.35;
}

.speech-detail-summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.8rem;
    margin-bottom: 1.75rem;
    padding: 1rem 1.1rem;
    border: 1px solid color-mix(in srgb, var(--public-warning) 32%, var(--public-border));
    border-left: 4px solid var(--public-warning);
    border-radius: 0.75rem;
    background: color-mix(in srgb, var(--public-warning) 7%, var(--public-surface));
}

.speech-detail-summary > span {
    color: var(--public-warning);
    font-size: 1.35rem;
}

.speech-detail-summary p {
    margin: 0;
    color: var(--public-text);
    font-size: 1.02rem;
    font-weight: 600;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.speech-detail-transcript {
    color: var(--public-text-secondary);
    font-size: 1rem;
    line-height: 1.9;
    overflow-wrap: anywhere;
}

.speech-detail-transcript > :last-child {
    margin-bottom: 0;
}

.speech-detail-transcript h2,
.speech-detail-transcript h3,
.speech-detail-transcript h4,
.speech-detail-transcript h5 {
    margin-top: 1.6em;
    color: var(--public-text);
    line-height: 1.35;
}

.speech-detail-transcript img,
.speech-detail-transcript video,
.speech-detail-transcript iframe {
    max-width: 100%;
}

.speech-detail-transcript img {
    height: auto;
    border-radius: 0.65rem;
}

.speech-detail-transcript blockquote {
    margin-inline: 0;
    padding: 0.75rem 1rem;
    border-left: 3px solid var(--public-primary);
    background: var(--public-surface-raised);
}

.speech-detail-transcript table {
    display: block;
    overflow-x: auto;
    max-width: 100%;
}

.speech-detail-share {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--public-border);
}

.speech-detail-share > strong {
    color: var(--public-text);
    font-size: 0.86rem;
}

.speech-detail-share > div {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.speech-detail-share a {
    display: grid;
    width: 2.45rem;
    height: 2.45rem;
    place-items: center;
    border: 1px solid var(--public-border);
    border-radius: 0.7rem;
    background: var(--public-surface-raised);
    color: var(--public-text-secondary);
    text-decoration: none;
}

.speech-detail-share a:hover {
    border-color: var(--public-primary);
    color: var(--public-primary);
}

.speech-detail-return-link {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    gap: 0.5rem;
    color: var(--public-text-secondary);
    font-weight: 650;
    text-decoration: none;
}

.speech-detail-return-link:hover {
    color: var(--public-primary-hover);
}

.speech-detail-speaker-profile {
    display: grid;
    justify-items: center;
    text-align: center;
}

.speech-detail-speaker-profile > img,
.speech-detail-speaker-placeholder {
    display: grid;
    width: 6rem;
    height: 6rem;
    margin-bottom: 1rem;
    place-items: center;
    border: 3px solid var(--public-border);
    border-radius: 50%;
    background: var(--public-surface-raised);
    color: #AEBBFF;
    font-size: 2.2rem;
    object-fit: cover;
}

.speech-detail-speaker-profile h3 {
    margin: 0;
    color: var(--public-text);
    font-size: 1.1rem;
}

.speech-detail-speaker-profile > p {
    margin: 0.35rem 0 0;
    color: var(--public-text-muted);
    font-size: 0.86rem;
}

.speech-detail-speaker-profile > .speech-detail-speaker-bio {
    margin: 1rem 0;
    color: var(--public-text-secondary);
    line-height: 1.65;
    text-align: left;
}

.speech-detail-speaker-profile .btn {
    margin-top: 1rem;
    white-space: normal;
}

.speech-detail-facts {
    display: grid;
    gap: 0;
    margin: 0;
}

.speech-detail-facts > div {
    display: grid;
    gap: 0.35rem;
    padding-block: 0.8rem;
    border-bottom: 1px solid var(--public-border);
}

.speech-detail-facts dt {
    color: var(--public-text-muted);
    font-size: 0.8rem;
}

.speech-detail-facts dd {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin: 0;
    color: var(--public-text);
    font-weight: 600;
    overflow-wrap: anywhere;
}

.speech-detail-facts dd i {
    flex: 0 0 auto;
    margin-top: 0.15rem;
    color: #AEBBFF;
}

body.public-body[data-theme="light"] .speech-detail-hero h1 {
    color: var(--public-text);
}

body.public-body[data-theme="light"] .speech-detail-local-title,
body.public-body[data-theme="light"] .speech-detail-meta {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .speech-detail-meta > span {
    border-color: rgba(33, 37, 41, 0.12);
    background: rgba(255, 255, 255, 0.55);
    color: #394052;
}

body.public-body[data-theme="light"] .speech-detail-meta i,
body.public-body[data-theme="light"] .speech-detail-audio-icon,
body.public-body[data-theme="light"] .speech-detail-section-icon {
    color: #35499E;
}

body.public-body[data-theme="light"] .speech-detail-back-link {
    border-color: var(--public-border);
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .speech-detail-back-link:hover {
    border-color: var(--public-primary);
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .speech-detail-kicker {
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .speech-detail-section-icon--accent {
    color: #805B12;
}

@media (max-width: 767.98px) {
    .speech-detail-hero-content,
    .speech-detail-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .speech-detail-hero-content {
        gap: 1.25rem;
    }

    .speech-detail-back-link {
        justify-self: start;
    }

    .speech-detail-audio {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .speech-detail-audio audio {
        flex: 1 1 100%;
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .speech-detail-meta {
        flex-direction: column;
    }
}

.media-album-detail-hero .media-gallery-hero-inner {
    position: relative;
    z-index: 1;
}

.media-album-detail-hero-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: clamp(1.5rem, 4vw, 3rem);
}

.media-album-detail-hero .media-gallery-eyebrow {
    margin-bottom: 0.75rem;
}

.media-album-detail-hero .media-gallery-hero-copy h1 {
    overflow-wrap: anywhere;
}

.media-album-detail-local-title {
    margin: 0.6rem 0 0;
    color: #D0D6E4;
    font-size: 1.05rem;
    line-height: 1.6;
}

.media-album-detail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.2rem;
}

.media-album-detail-meta > span {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.7rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 0.65rem;
    background: rgba(255, 255, 255, 0.06);
    color: #E1E5F0;
    font-size: 0.82rem;
}

.media-album-detail-meta i {
    color: #AEBBFF;
}

.media-album-detail-back {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.65rem 0.85rem;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 0.7rem;
    color: #E1E5F0;
    font-size: 0.88rem;
    font-weight: 650;
    text-decoration: none;
    white-space: nowrap;
}

.media-album-detail-back:hover {
    border-color: rgba(255, 255, 255, 0.4);
    color: #FFFFFF;
}

.media-album-detail-content {
    padding-top: clamp(1.75rem, 4vw, 3rem);
    padding-bottom: clamp(2.5rem, 6vw, 4.5rem);
}

.media-album-detail-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.25rem;
    margin-bottom: 1.4rem;
}

.media-album-detail-intro {
    min-width: 0;
}

.media-album-detail-intro h2 {
    margin: 0.25rem 0 0;
    color: var(--public-text);
    font-size: clamp(1.35rem, 2.5vw, 1.8rem);
    font-weight: 750;
    letter-spacing: -0.03em;
}

.media-album-detail-intro p {
    max-width: 52rem;
    margin: 0.5rem 0 0;
    color: var(--public-text-secondary);
    line-height: 1.7;
}

.media-album-detail-toolbar > .btn {
    flex: 0 0 auto;
    white-space: normal;
}

.media-album-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.15rem;
}

.media-album-detail-photo {
    min-width: 0;
    overflow: hidden;
    margin: 0;
    border: 1px solid var(--public-border);
    border-radius: 0.9rem;
    background: var(--public-surface);
    box-shadow: 0 0.35rem 1.1rem rgba(0, 0, 0, 0.12);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.media-album-detail-photo:hover {
    transform: translateY(-3px);
    border-color: rgba(85, 110, 230, 0.65);
    box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.18);
}

.media-album-detail-photo-trigger {
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    padding: 0;
    border: 0;
    aspect-ratio: 4 / 3;
    background: var(--public-surface-raised);
    color: inherit;
    cursor: zoom-in;
    text-align: left;
}

.media-album-detail-photo-trigger img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.media-album-detail-photo:hover .media-album-detail-photo-trigger img {
    transform: scale(1.04);
}

.media-album-detail-photo-open {
    position: absolute;
    right: 0.75rem;
    bottom: 0.75rem;
    display: grid;
    width: 2.35rem;
    height: 2.35rem;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 50%;
    background: rgba(25, 30, 44, 0.8);
    color: #FFFFFF;
    pointer-events: none;
    opacity: 0;
    transform: translateY(3px);
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.media-album-detail-photo:hover .media-album-detail-photo-open,
.media-album-detail-photo-trigger:focus-visible .media-album-detail-photo-open {
    opacity: 1;
    transform: translateY(0);
}

.media-album-detail-photo figcaption {
    display: flex;
    min-height: 2.8rem;
    align-items: center;
    gap: 0.55rem;
    padding: 0.7rem 0.85rem;
    color: var(--public-text-secondary);
    font-size: 0.83rem;
}

.media-album-detail-photo figcaption > i {
    flex: 0 0 auto;
    color: var(--public-primary);
}

.media-album-detail-photo figcaption > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.media-album-detail-empty {
    display: grid;
    justify-items: center;
    padding: clamp(2rem, 6vw, 4rem) 1.25rem;
    border: 1px dashed var(--public-border);
    border-radius: 1rem;
    background: var(--public-surface);
    text-align: center;
}

.media-album-detail-empty > span {
    display: grid;
    width: 3.5rem;
    height: 3.5rem;
    margin-bottom: 1rem;
    place-items: center;
    border-radius: 1rem;
    background: var(--public-primary-soft);
    color: var(--public-primary);
    font-size: 1.5rem;
}

.media-album-detail-empty h2 {
    color: var(--public-text);
    font-size: 1.2rem;
}

.media-album-detail-empty p {
    max-width: 32rem;
    margin: 0;
    color: var(--public-text-secondary);
    line-height: 1.65;
}

.media-album-detail-return {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1.5rem;
    color: var(--public-text-secondary);
    font-weight: 650;
    text-decoration: none;
}

.media-album-detail-return:hover {
    color: var(--public-primary-hover);
}

.viewer-toolbar > ul > .viewer-download::before {
    content: "\2193";
    font-size: 1.15rem;
}

body.public-body[data-theme="light"] .media-album-detail-local-title {
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .media-album-detail-meta > span {
    border-color: rgba(33, 37, 41, 0.12);
    background: rgba(255, 255, 255, 0.55);
    color: #394052;
}

body.public-body[data-theme="light"] .media-album-detail-meta i {
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .media-album-detail-back {
    border-color: var(--public-border);
    color: var(--public-text-secondary);
}

body.public-body[data-theme="light"] .media-album-detail-back:hover {
    border-color: var(--public-primary);
    color: var(--public-primary-hover);
}

body.public-body[data-theme="light"] .media-album-detail-intro .media-gallery-section-kicker {
    color: var(--public-primary-hover);
}

@media (max-width: 991.98px) {
    .media-album-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .speech-detail-hero-content,
    .speech-detail-grid,
    .media-album-detail-hero-content {
        grid-template-columns: minmax(0, 1fr);
    }

    .speech-detail-hero-content,
    .media-album-detail-hero-content {
        gap: 1.25rem;
    }

    .speech-detail-back-link,
    .media-album-detail-back {
        justify-self: start;
    }

    .media-album-detail-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 575.98px) {
    .speech-detail-meta {
        flex-direction: column;
    }

    .media-album-detail-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .speech-detail-page *,
    .speech-detail-page *::before,
    .speech-detail-page *::after,
    .media-album-detail-page *,
    .media-album-detail-page *::before,
    .media-album-detail-page *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}
