:root {
  --mea-teal: #045568;
  --mea-teal-dark: #033e4b;
  --mea-teal-ink: #16343b;
  --mea-ivory: #faf6f4;
  --mea-gold: #f4c376;
  --mea-magenta: #cc4cab;
  --mea-magenta-dark: #9d267f;
  --mea-blue: #93d5da;
  --mea-blue-soft: #e5f5f6;
  --mea-white: #ffffff;
  --mea-muted: #52666c;
  --mea-border: #cbdcdf;
  --mea-success: #1f6b45;
  --mea-success-soft: #e5f4eb;
  --mea-error: #a72b22;
  --mea-error-soft: #fbecea;
  --mea-warning: #76510b;
  --mea-warning-soft: #fff3d5;
  --mea-shadow: 0 14px 40px rgba(4, 85, 104, 0.09);
  --mea-radius-sm: 0.5rem;
  --mea-radius: 0.85rem;
  --mea-radius-lg: 1.25rem;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--mea-ivory);
  color: var(--mea-teal-ink);
  font-family: "Noto Sans", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}
body, button, input, select, textarea { font-family: "Noto Sans", Arial, sans-serif; }
img { height: auto; max-width: 100%; }
h1, h2, h3, h4, h5, h6 {
  color: var(--mea-teal);
  font-weight: 750;
  letter-spacing: -0.018em;
  line-height: 1.22;
}
a { color: var(--mea-teal); text-decoration-thickness: 0.08em; text-underline-offset: 0.18em; }
a:hover, a:focus { color: var(--mea-magenta-dark); }
::selection { background: var(--mea-blue); color: var(--mea-teal-dark); }
:focus { outline: 0; }
:focus-visible {
  border-radius: 0.18rem;
  outline: 3px solid var(--mea-gold) !important;
  outline-offset: 3px;
}
.portal-skip-link {
  background: var(--mea-gold);
  color: var(--mea-teal-dark);
  font-weight: 800;
  left: 1rem;
  padding: 0.75rem 1rem;
  position: fixed;
  top: -8rem;
  z-index: 9999;
}
.portal-skip-link:focus { color: var(--mea-teal-dark); top: 1rem; }

/* Header and global navigation */
.portal-header {
  background: var(--mea-teal);
  border-bottom: 4px solid var(--mea-gold);
  box-shadow: 0 6px 24px rgba(4, 50, 61, 0.18);
  position: relative;
  z-index: 100;
}
.portal-header .wb-user-bar {
  background: var(--mea-teal-dark);
  color: var(--mea-white);
  font-size: 0.78rem;
}
.portal-header .wb-user-bar a { color: var(--mea-white); }
.portal-masthead { padding: 0.65rem 0; }
.portal-header .navbar { min-height: 4.5rem; padding: 0; }
.portal-header .navbar-brand { margin-right: 2rem; max-width: min(100%, 22rem); padding: 0; white-space: normal; }
.portal-brand {
  align-items: center;
  color: var(--mea-white);
  display: flex;
  gap: 0.8rem;
  text-decoration: none;
}
.portal-brand:hover, .portal-brand:focus { color: var(--mea-white); text-decoration: none; }
.portal-brand-mark { display: block; flex: 0 0 3.5rem; height: 3.5rem; width: 3.5rem; }
.portal-brand-mark img { display: block; height: 100%; width: 100%; }
.navbar-brand--sitename { border: 0 !important; display: flex; flex-direction: column; margin: 0 !important; padding: 0 !important; }
.portal-header .nada-site-title { color: var(--mea-white); font-size: 1.05rem; line-height: 1.2; }
.portal-header .nada-site-subtitle {
  color: var(--mea-blue);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  margin-top: 0.18rem;
  text-transform: uppercase;
}
.portal-header .navbar-nav { align-items: center; gap: 0.15rem; }
.portal-header .nav-link {
  border-radius: 0.45rem;
  color: var(--mea-white) !important;
  font-size: 0.9rem;
  font-weight: 700;
  padding: 0.65rem 0.72rem !important;
}
.portal-header .nav-link:hover, .portal-header .nav-link:focus, .portal-header .active > .nav-link {
  background: rgba(147, 213, 218, 0.16);
  color: var(--mea-white) !important;
}
.portal-header .dropdown-menu {
  border: 1px solid var(--mea-border);
  border-radius: var(--mea-radius-sm);
  box-shadow: var(--mea-shadow);
  font-size: 0.9rem;
}
.portal-header .dropdown-item { color: var(--mea-teal-ink); font-weight: 600; padding: 0.65rem 1rem; }
.portal-header .dropdown-item:hover, .portal-header .dropdown-item:focus { background: var(--mea-blue-soft); color: var(--mea-teal-dark); }
.portal-header .navbar-toggler { border: 2px solid rgba(255,255,255,0.75); min-height: 44px; min-width: 44px; }
.portal-header .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.95%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Shared page surfaces */
.wp-page-body { background: var(--mea-ivory); min-height: 60vh; }
.body-content-wrap > .container:not(:empty) { padding-top: 1rem; }
.default-wrapper { padding-bottom: 4rem; padding-top: 1.5rem; }
.breadcrumb {
  background: transparent;
  color: var(--mea-muted);
  font-size: 0.84rem;
  margin-bottom: 0.5rem;
  padding-left: 0;
  padding-right: 0;
}
.breadcrumb a { font-weight: 650; }
.card, .catalog-card, .wb-box-sidebar, .ui-tabs, .tab-content, .panel, .well {
  background: var(--mea-white);
  border-color: var(--mea-border) !important;
  border-radius: var(--mea-radius);
  box-shadow: 0 8px 26px rgba(4, 85, 104, 0.055);
}
.card-header, .panel-heading {
  background: var(--mea-blue-soft);
  border-color: var(--mea-border);
  color: var(--mea-teal-dark);
  font-weight: 750;
}
.catalog-card { transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease; }
.catalog-card:hover { border-color: var(--mea-blue) !important; box-shadow: var(--mea-shadow); transform: translateY(-2px); }
.catalog-card .study-title, .catalog-card h2, .catalog-card h3, .catalog-card h4 { color: var(--mea-teal); }
.catalog-card .study-description, .text-muted, .text-secondary { color: var(--mea-muted) !important; }
.dataset-type, .badge, .label {
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.03em;
}
.badge-primary, .label-primary { background: var(--mea-teal) !important; color: var(--mea-white); }
.badge-info, .label-info { background: var(--mea-blue) !important; color: var(--mea-teal-dark); }
.badge-warning, .label-warning { background: var(--mea-gold) !important; color: var(--mea-teal-dark); }
.badge-danger, .label-danger { background: var(--mea-magenta-dark) !important; color: var(--mea-white); }

/* Controls, authentication and request forms */
.btn {
  border-radius: var(--mea-radius-sm);
  font-weight: 750;
  min-height: 2.75rem;
  padding: 0.58rem 1rem;
}
.btn-sm { min-height: 2.35rem; padding: 0.4rem 0.75rem; }
.btn-primary, .btn-success, .study-search .btn {
  background: var(--mea-teal) !important;
  border-color: var(--mea-teal) !important;
  color: var(--mea-white) !important;
}
.btn-primary:hover, .btn-primary:focus, .btn-success:hover, .btn-success:focus, .study-search .btn:hover, .study-search .btn:focus {
  background: var(--mea-teal-dark) !important;
  border-color: var(--mea-teal-dark) !important;
}
.btn-outline-primary { border-color: var(--mea-teal); color: var(--mea-teal); }
.btn-outline-primary:hover, .btn-outline-primary:focus { background: var(--mea-teal); border-color: var(--mea-teal); color: var(--mea-white); }
.btn-secondary { background: var(--mea-white); border-color: var(--mea-teal); color: var(--mea-teal); }
.btn-secondary:hover, .btn-secondary:focus { background: var(--mea-blue-soft); border-color: var(--mea-teal); color: var(--mea-teal-dark); }
.btn-danger { background: var(--mea-error); border-color: var(--mea-error); }
.btn-link { color: var(--mea-teal); font-weight: 700; }
.btn:disabled, .btn.disabled {
  background: #d8dfdf !important;
  border-color: #c7d0d1 !important;
  color: #667477 !important;
  cursor: not-allowed;
  opacity: 1;
}
.form-control, select, textarea, .custom-select {
  background-color: var(--mea-white);
  border: 1px solid #9fb8bd;
  border-radius: var(--mea-radius-sm);
  color: var(--mea-teal-ink);
  min-height: 2.75rem;
}
.form-control:focus, select:focus, textarea:focus, .custom-select:focus {
  border-color: var(--mea-teal);
  box-shadow: 0 0 0 0.2rem rgba(147, 213, 218, 0.5);
}
.form-control::placeholder { color: #6a7c81; opacity: 1; }
label { color: var(--mea-teal-ink); font-weight: 700; }
.form-text, .help-block { color: var(--mea-muted); }
.is-invalid, .has-error .form-control { border-color: var(--mea-error) !important; }
.invalid-feedback, .has-error .help-block, .text-danger { color: var(--mea-error) !important; font-weight: 650; }
.is-valid { border-color: var(--mea-success) !important; }
.auth-form, .login-form, .register-form, .password-form, .request-form {
  background: var(--mea-white);
  border: 1px solid var(--mea-border);
  border-radius: var(--mea-radius-lg);
  box-shadow: var(--mea-shadow);
}
.wb-template-blank .wb-page-body.container-fluid {
  align-items: center;
  background:
    radial-gradient(circle at 12% 18%, rgba(244, 195, 118, 0.3) 0 5rem, transparent 5.1rem),
    linear-gradient(145deg, var(--mea-ivory), var(--mea-blue-soft));
  display: flex;
  justify-content: center;
  margin-top: 0 !important;
  min-height: calc(100vh - 8rem);
  padding: clamp(2rem, 8vw, 6rem) 1rem;
}
.wb-template-blank .portal-header {
  background: var(--mea-teal);
  position: relative;
}
.wb-template-blank .login-form {
  background: var(--mea-white);
  border: 1px solid var(--mea-border) !important;
  border-radius: var(--mea-radius-lg) !important;
  box-shadow: var(--mea-shadow) !important;
  margin: 0 auto;
  max-width: 34rem !important;
  padding: clamp(1.5rem, 6vw, 3rem) !important;
  width: 100%;
}
.wb-template-blank .login-form h1 { color: var(--mea-teal); font-size: clamp(1.8rem, 5vw, 2.5rem); }
.wb-template-blank .image_captcha {
  background: var(--mea-blue-soft) !important;
  border: 1px solid var(--mea-border);
  border-radius: var(--mea-radius-sm);
  color: var(--mea-teal-dark);
  padding: 1rem !important;
}
.wb-template-blank .image_captcha img { display: block; margin-bottom: 0.75rem; max-width: 100%; }
.wb-template-blank .image_captcha input { background: var(--mea-white); border: 1px solid #9fb8bd; border-radius: var(--mea-radius-sm); min-height: 2.75rem; width: 100%; }
.wb-template-blank .privacy-info { border-top: 1px solid var(--mea-border); margin-top: 1.5rem !important; padding-top: 1rem; }

/* Notices and policy states use text/icons in addition to color. */
.alert {
  border: 1px solid transparent;
  border-left-width: 5px;
  border-radius: var(--mea-radius-sm);
}
.alert-info { background: var(--mea-blue-soft); border-color: var(--mea-teal); color: var(--mea-teal-dark); }
.alert-warning { background: var(--mea-warning-soft); border-color: var(--mea-gold); color: var(--mea-warning); }
.alert-danger { background: var(--mea-error-soft); border-color: var(--mea-error); color: #781f19; }
.alert-success { background: var(--mea-success-soft); border-color: var(--mea-success); color: #155034; }
.access-policy, .data-access, [class*="access-policy"] {
  border-left: 5px solid var(--mea-magenta);
  border-radius: var(--mea-radius-sm);
}

/* Catalog facets, filters, pagination and study pages */
.facet-container, .filter-box, .facets-container, .catalog-filters {
  background: var(--mea-white);
  border-color: var(--mea-border) !important;
  border-radius: var(--mea-radius);
}
.facet-title, .filter-title { color: var(--mea-teal); font-weight: 750; }
.facet-container label, .facet-container a { font-size: 0.9rem; }
.filter-action-bar { background: var(--mea-blue-soft); border-color: var(--mea-border); border-radius: var(--mea-radius-sm); }
@media (min-width: 768px) {
  .catalog-search-container .navbar-expand-filters {
    align-self: flex-start;
    max-height: calc(100vh - 2rem);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    position: sticky;
    scrollbar-gutter: stable;
    top: 1rem;
  }
}
.nav-tabs { border-bottom-color: var(--mea-border); }
.nav-tabs .nav-link { color: var(--mea-muted); font-weight: 700; }
.nav-tabs .nav-link.active {
  background: var(--mea-white);
  border-color: var(--mea-border) var(--mea-border) var(--mea-white);
  color: var(--mea-teal);
  position: relative;
}
.nav-tabs .nav-link.active::after {
  background: var(--mea-magenta);
  bottom: -1px;
  content: "";
  height: 3px;
  left: 0.75rem;
  position: absolute;
  right: 0.75rem;
}
.pagination .page-link { border-color: var(--mea-border); color: var(--mea-teal); min-height: 2.6rem; min-width: 2.6rem; text-align: center; }
.pagination .page-link:hover, .pagination .page-link:focus { background: var(--mea-blue-soft); color: var(--mea-teal-dark); }
.pagination .active .page-link { background: var(--mea-teal); border-color: var(--mea-teal); color: var(--mea-white); }
table { background: var(--mea-white); }
.table thead th { background: var(--mea-blue-soft); border-bottom-color: var(--mea-teal); color: var(--mea-teal-dark); }
.table td, .table th { border-color: var(--mea-border); vertical-align: top; }
.table-striped tbody tr:nth-of-type(odd) { background: rgba(147, 213, 218, 0.12); }
.metadata-container dt, .study-metadata dt { color: var(--mea-teal); font-weight: 750; }
.download-box, .resources-container, .variable-container {
  background: var(--mea-white);
  border-color: var(--mea-border) !important;
  border-radius: var(--mea-radius);
}

/* Homepage */
.portal-home .body-content-wrap > .container { display: none; }
.portal-home { background: var(--mea-ivory); }
.portal-hero {
  background:
    radial-gradient(circle at 87% 16%, rgba(204, 76, 171, 0.13) 0 5rem, transparent 5.1rem),
    radial-gradient(circle at 76% 88%, rgba(244, 195, 118, 0.3) 0 7rem, transparent 7.1rem),
    linear-gradient(130deg, var(--mea-ivory) 0%, #fff 56%, var(--mea-blue-soft) 100%);
  border-bottom: 1px solid var(--mea-border);
  overflow: hidden;
  padding: clamp(3.5rem, 8vw, 7rem) 0;
  position: relative;
}
.portal-eyebrow, .portal-kicker {
  color: var(--mea-magenta-dark);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.13em;
  margin-bottom: 0.7rem;
  text-transform: uppercase;
}
.portal-hero h1 { font-size: clamp(2.65rem, 6vw, 5rem); letter-spacing: -0.05em; line-height: 1.03; margin: 0; max-width: 50rem; }
.portal-hero-description { color: var(--mea-muted); font-size: clamp(1.08rem, 2vw, 1.28rem); margin: 1.5rem 0 2rem; max-width: 43rem; }
.portal-search { max-width: 47rem; }
.portal-search-control {
  align-items: center;
  background: var(--mea-white);
  border: 1px solid var(--mea-border);
  border-radius: 0.75rem;
  box-shadow: 0 12px 34px rgba(4, 85, 104, 0.12);
  display: flex;
  padding: 0.42rem;
}
.portal-search-control > i { color: var(--mea-teal); flex: 0 0 auto; margin: 0 0.5rem 0 0.75rem; }
.portal-search-control .form-control { border: 0; box-shadow: none; min-width: 0; }
.portal-search-control .btn { flex: 0 0 auto; min-width: 7rem; }
.portal-hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; margin-top: 1.25rem; }
.btn-portal-secondary { background: transparent; border: 2px solid var(--mea-teal); color: var(--mea-teal); }
.btn-portal-secondary:hover, .btn-portal-secondary:focus { background: var(--mea-teal); color: var(--mea-white); }
.btn-portal-secondary i { margin-left: 0.45rem; }
.portal-live-count { color: var(--mea-muted); font-size: 0.9rem; }
.portal-live-count strong { color: var(--mea-teal); font-size: 1.15rem; }
.portal-hero-mark { margin-left: auto; max-width: 22rem; position: relative; }
.portal-hero-mark::before {
  border: 2px solid var(--mea-gold);
  border-radius: 50%;
  content: "";
  inset: -1rem;
  position: absolute;
}
.portal-hero-mark img { display: block; position: relative; width: 100%; }
.portal-section { padding: clamp(3.5rem, 7vw, 6rem) 0; }
.portal-section-heading { align-items: end; display: flex; gap: 2rem; justify-content: space-between; margin-bottom: 1.8rem; }
.portal-section-heading h2 { font-size: clamp(1.8rem, 3vw, 2.6rem); margin: 0; }
.portal-text-link { font-weight: 750; white-space: nowrap; }
.portal-text-link i { font-size: 0.78em; margin-left: 0.3rem; }
.portal-dataset-panel {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}
.portal-dataset-panel > h3 { display: none; }
.portal-dataset-panel .survey-row {
  border: 0 !important;
  margin: 0;
  padding: 1.25rem 0;
}
.portal-dataset-panel .survey-row + .survey-row { margin-top: 0.75rem; }
.portal-dataset-panel .study-type-icon { color: var(--mea-magenta-dark); }
.portal-dataset-panel .study-title { color: var(--mea-teal); }
.portal-dataset-panel > p:last-child { display: none; }
.portal-stats-section { background: var(--mea-blue-soft); border-bottom: 1px solid var(--mea-border); border-top: 1px solid var(--mea-border); }
.portal-stats-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.portal-stat-card {
  background: var(--mea-white);
  border: 1px solid var(--mea-border);
  border-radius: var(--mea-radius);
  color: var(--mea-muted);
  display: flex;
  flex-direction: column;
  min-height: 12rem;
  padding: 1.5rem;
  text-decoration: none;
}
a.portal-stat-card:hover, a.portal-stat-card:focus { border-color: var(--mea-magenta); box-shadow: var(--mea-shadow); color: var(--mea-muted); text-decoration: none; }
.portal-stat-card strong { color: var(--mea-teal); font-size: clamp(2.2rem, 5vw, 3.4rem); line-height: 1.1; margin: auto 0 0.35rem; }
.portal-stat-icon { align-items: center; background: var(--mea-gold); border-radius: 50%; color: var(--mea-teal-dark); display: inline-flex; height: 2.6rem; justify-content: center; width: 2.6rem; }
.portal-stat-card-small { min-height: 8rem; }
.portal-stat-card-small strong { font-size: 2rem; }
.portal-access-panel { background: var(--mea-teal); border-radius: var(--mea-radius-lg); color: var(--mea-white); height: 100%; padding: clamp(2rem, 5vw, 3.5rem); }
.portal-access-panel h2, .portal-access-panel h3 { color: var(--mea-white); }
.portal-access-panel .portal-kicker { color: var(--mea-gold); }
.portal-access-steps { display: grid; gap: 1.2rem; margin: 2rem 0; }
.portal-access-step { align-items: flex-start; display: flex; gap: 1rem; }
.portal-access-step > span { align-items: center; background: var(--mea-gold); border-radius: 50%; color: var(--mea-teal-dark); display: inline-flex; flex: 0 0 2.35rem; font-weight: 850; height: 2.35rem; justify-content: center; }
.portal-access-step h3 { font-size: 1rem; margin: 0 0 0.2rem; }
.portal-access-step p { color: #dbecee; font-size: 0.9rem; margin: 0; }
.portal-access-panel .btn-primary { background: var(--mea-white) !important; border-color: var(--mea-white) !important; color: var(--mea-teal) !important; }
.portal-access-panel .btn-primary:hover, .portal-access-panel .btn-primary:focus { background: var(--mea-gold) !important; border-color: var(--mea-gold) !important; color: var(--mea-teal-dark) !important; }
.portal-organization-panel { background: var(--mea-white); border: 1px solid var(--mea-border); border-radius: var(--mea-radius-lg); height: 100%; padding: 2rem; }
.portal-organization-panel picture { display: block; margin: 0 auto 1.5rem; max-width: 18rem; }
.portal-organization-panel p { color: var(--mea-muted); }

/* Footer */
.portal-footer { background: var(--mea-teal-dark); color: #dbecee; margin-top: 0; padding: 3.8rem 0 1.5rem; }
.portal-footer a { color: var(--mea-white); }
.portal-footer a:hover, .portal-footer a:focus { color: var(--mea-gold); }
.portal-footer-brand { align-items: center; display: inline-flex; gap: 0.8rem; margin-bottom: 1rem; text-decoration: none; }
.portal-footer-brand img { flex: 0 0 3.5rem; height: 3.5rem; width: 3.5rem; }
.portal-footer-brand > span { display: flex; flex-direction: column; }
.portal-footer-brand strong { font-size: 1.05rem; }
.portal-footer-brand > span > span { color: var(--mea-blue); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.portal-footer p { color: #bdd4d8; max-width: 28rem; }
.portal-footer h2 { color: var(--mea-gold); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.portal-footer ul { list-style: none; margin: 0; padding: 0; }
.portal-footer li { margin: 0.55rem 0; }
.portal-footer-grid { row-gap: 2rem; }
.portal-footer-legal { border-top: 1px solid rgba(255,255,255,0.18); display: flex; font-size: 0.78rem; justify-content: space-between; margin-top: 2.5rem; padding-top: 1.2rem; }

/* Empty states */
.no-records, .empty-state, .catalog-empty {
  background: var(--mea-blue-soft);
  border: 1px dashed var(--mea-teal);
  border-radius: var(--mea-radius);
  color: var(--mea-teal-dark);
  padding: 2.5rem;
  text-align: center;
}
.portal-static-page {
  background: var(--mea-white);
  border: 1px solid var(--mea-border);
  border-radius: var(--mea-radius-lg);
  box-shadow: var(--mea-shadow);
  margin: 1.5rem auto 4rem;
  max-width: 52rem;
  padding: clamp(1.5rem, 5vw, 3.5rem);
}
.portal-static-page h1 { font-size: clamp(2rem, 5vw, 3.2rem); margin-bottom: 1rem; }
.portal-static-page p, .portal-static-page li { color: var(--mea-muted); }
.portal-review-notice {
  background: var(--mea-warning-soft);
  border-left: 5px solid var(--mea-gold);
  border-radius: var(--mea-radius-sm);
  color: var(--mea-warning) !important;
  font-size: 0.88rem;
  font-weight: 700;
  margin-bottom: 2rem;
  padding: 0.8rem 1rem;
}

@media (max-width: 991.98px) {
  .portal-header .navbar-nav { align-items: stretch; padding: 1rem 0; }
  .portal-header .navbar-collapse { border-top: 1px solid rgba(255,255,255,0.2); margin-top: 0.75rem; }
  .portal-header .dropdown-menu { box-shadow: none; }
  .portal-organization-panel { margin-top: 1rem; }
}

@media (max-width: 767.98px) {
  .portal-masthead { padding: 0.5rem 0; }
  .portal-brand-mark { flex-basis: 2.8rem; height: 2.8rem; width: 2.8rem; }
  .portal-header .nada-site-title { font-size: 0.94rem; }
  .portal-header .nada-site-subtitle { font-size: 0.66rem; }
  .portal-hero { padding: 3.5rem 0; }
  .portal-search-control { align-items: stretch; flex-wrap: wrap; padding: 0.5rem; }
  .portal-search-control > i { align-self: center; }
  .portal-search-control .form-control { flex: 1 1 calc(100% - 3rem); font-size: 0.9rem; }
  .portal-search-control .btn { flex: 1 1 100%; margin-top: 0.5rem; }
  .portal-section-heading { align-items: flex-start; flex-direction: column; gap: 0.6rem; }
  .portal-text-link { white-space: normal; }
  .portal-stats-grid { grid-template-columns: 1fr; }
  .portal-stat-card { min-height: 9rem; }
  .portal-footer-legal { flex-direction: column; gap: 0.6rem; }
  .table-responsive { border: 0; }
}

@media (max-width: 359.98px) {
  .portal-header .nada-site-title { font-size: 0.8rem; }
  .portal-header .nada-site-subtitle { letter-spacing: 0.06em; }
}

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

@media print {
  .portal-header, .portal-footer, .portal-skip-link, .portal-hero-actions { display: none !important; }
  body, .wp-page-body { background: #fff; color: #000; }
  a { color: #000; text-decoration: underline; }
}
