body {
  color: #18212f;
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--cms-primary);
  --bs-btn-border-color: var(--cms-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--cms-primary);
  --bs-btn-hover-border-color: var(--cms-primary);
  --bs-btn-focus-shadow-rgb: var(--cms-primary-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--cms-primary);
  --bs-btn-active-border-color: var(--cms-primary);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--cms-primary);
  --bs-btn-disabled-border-color: var(--cms-primary);
}

.btn-outline-primary {
  --bs-btn-color: var(--cms-primary);
  --bs-btn-border-color: var(--cms-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--cms-primary);
  --bs-btn-hover-border-color: var(--cms-primary);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--cms-primary);
  --bs-btn-active-border-color: var(--cms-primary);
}

.btn-primary,
.btn-primary:visited,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  color: #fff !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
  color: #fff !important;
}

.text-bg-primary {
  color: #fff !important;
  background-color: var(--cms-primary) !important;
}

.text-primary,
.link-primary {
  color: var(--cms-primary) !important;
}

.link-primary:hover,
.link-primary:focus,
a:not(.btn),
a:not(.btn):visited,
.table th a:not(.btn),
.table th a:not(.btn):visited,
.table td a:not(.btn),
.table td a:not(.btn):visited {
  color: var(--cms-primary);
}

a:not(.btn):hover,
a:not(.btn):focus,
.table th a:not(.btn):hover,
.table th a:not(.btn):focus,
.table td a:not(.btn):hover,
.table td a:not(.btn):focus {
  color: var(--cms-primary);
}

.page-link {
  color: var(--cms-primary);
}

.active > .page-link,
.page-link.active {
  border-color: var(--cms-primary);
  background-color: var(--cms-primary);
}

.brand-logo,
.pulse-logo-svg {
  display: block;
  width: auto;
  color: var(--cms-primary);
}

.brand-logo {
  max-width: 8rem;
  height: 1.9rem;
}

.brand-pair {
  display: inline-flex;
  align-items: center;
  gap: 1.1rem;
}

.community-crest {
  display: block;
  width: auto;
  height: 2.5rem;
  max-width: 3rem;
  object-fit: contain;
}

.community-crest-preview {
  display: block;
  width: 4rem;
  height: 4rem;
  object-fit: contain;
}

.site-color-choice {
  display: flex;
  align-items: center;
  gap: .85rem;
  height: 100%;
  padding: 1rem;
  border: 1px solid var(--bs-border-color);
  border-radius: .75rem;
  background: #fff;
  cursor: pointer;
}

.site-color-choice.is-active {
  border-color: rgba(var(--cms-primary-rgb), .45);
  box-shadow: 0 0 0 .2rem rgba(var(--cms-primary-rgb), .08);
}

.site-color-choice__swatch {
  flex: 0 0 auto;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 999px;
  background: var(--choice-color);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .5);
}

.eyebrow {
  margin-bottom: .4rem;
  color: var(--cms-primary);
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.hero {
  min-height: 24rem;
}

.navbar .button_to {
  margin: 0;
}

.navbar .public-nav-dropdown-toggle {
  border: 0;
  background: transparent;
}

.navbar .dropdown:hover > .dropdown-menu,
.navbar .dropdown:focus-within > .dropdown-menu {
  display: block;
  margin-top: 0;
}

.navbar .dropdown:hover > .dropdown-toggle,
.navbar .dropdown:focus-within > .dropdown-toggle {
  color: rgba(var(--bs-emphasis-color-rgb), .8);
}

.admin-sidebar {
  position: sticky;
  top: 5.5rem;
}

.admin-notification-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid rgba(var(--cms-primary-rgb), .18);
  border-radius: 999px;
  color: var(--cms-primary);
  background: #fff;
  text-decoration: none;
}

.admin-notification-button:hover,
.admin-notification-button:focus {
  border-color: rgba(var(--cms-primary-rgb), .34);
  color: var(--cms-primary);
  background: rgba(var(--cms-primary-rgb), .06);
}

.admin-notification-button__icon {
  width: 1.1rem;
  height: 1.1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.admin-notification-button__badge {
  position: absolute;
  top: -.35rem;
  right: -.35rem;
  min-width: 1.1rem;
  height: 1.1rem;
  padding-inline: .25rem;
  border: 2px solid #fff;
  border-radius: 999px;
  color: #fff;
  background: #dc3545;
  font-size: .68rem;
  font-weight: 800;
  line-height: .9rem;
  text-align: center;
}

.admin-sidebar-link,
.admin-sidebar-heading {
  display: block;
  padding: .7rem .85rem;
  border-radius: .75rem;
  color: #18212f;
  font-weight: 700;
  text-decoration: none;
}

.admin-sidebar-link:hover,
.admin-sidebar-sublink:hover {
  background: var(--bs-tertiary-bg);
  color: #18212f;
  text-decoration: none;
}

.admin-sidebar-link.is-active,
.admin-sidebar-heading.is-active {
  background: rgba(var(--cms-primary-rgb), .1);
  color: var(--cms-primary);
}

.admin-sidebar-children {
  display: grid;
  gap: .35rem;
  padding-left: .5rem;
}

.admin-sidebar-sublink {
  display: block;
  padding: .5rem .75rem;
  border-radius: .65rem;
  color: var(--bs-secondary-color);
  font-size: .95rem;
  font-weight: 600;
  text-decoration: none;
}

.admin-sidebar-sublink.is-active {
  background: #fff;
  color: var(--cms-primary);
  box-shadow: inset 0 0 0 1px rgba(var(--cms-primary-rgb), .14);
}

.admin-page-header__actions .button_to {
  margin: 0;
}

.admin-subnav-scroller {
  overflow-x: auto;
  padding-bottom: .25rem;
}

.admin-subnav {
  gap: .5rem;
  min-width: max-content;
  --bs-nav-link-color: var(--cms-primary);
  --bs-nav-link-hover-color: #06172f;
  --bs-nav-pills-link-active-bg: var(--cms-primary);
  --bs-nav-pills-link-active-color: #fff;
}

.nav-pills.admin-subnav .nav-link,
.admin-subnav .nav-link {
  color: var(--cms-primary) !important;
  font-weight: 700;
}

.nav-pills.admin-subnav .nav-link:hover,
.nav-pills.admin-subnav .nav-link:focus,
.admin-subnav .nav-link:hover,
.admin-subnav .nav-link:focus {
  color: #06172f !important;
  background: rgba(var(--cms-primary-rgb), .08) !important;
}

.nav-pills.admin-subnav .nav-link.active,
.nav-pills.admin-subnav .show > .nav-link,
.admin-subnav .nav-link.active,
.admin-subnav .show > .nav-link {
  color: #fff !important;
  background-color: var(--cms-primary) !important;
}

.dashboard-card,
.module-card,
.settings-item {
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.dashboard-card:hover,
.module-card:hover,
.settings-item:hover {
  transform: translateY(-1px);
  border-color: rgba(var(--cms-primary-rgb), .35) !important;
  box-shadow: 0 1rem 2rem rgba(16, 24, 40, .08) !important;
  text-decoration: none;
}

.card.border:hover,
.table-hover > tbody > tr:hover > * {
  border-color: rgba(var(--cms-primary-rgb), .35);
}

.dashboard-list-item {
  display: grid;
  gap: .35rem;
  padding: .85rem 1rem;
  border: 1px solid rgba(var(--cms-primary-rgb), .12);
  border-radius: .5rem;
  color: #18212f;
  background: #fff;
  text-decoration: none;
}

a.dashboard-list-item {
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

a.dashboard-list-item:hover,
a.dashboard-list-item:focus {
  transform: translateY(-1px);
  border-color: rgba(var(--cms-primary-rgb), .35);
  color: #18212f;
  box-shadow: 0 .75rem 1.5rem rgba(16, 24, 40, .08);
  text-decoration: none;
}

.dashboard-list-item--warning {
  border-color: rgba(255, 193, 7, .45);
  background: rgba(255, 243, 205, .55);
}

.dashboard-list-item--danger {
  border-color: rgba(220, 53, 69, .3);
  background: rgba(248, 215, 218, .55);
}

.admin-notification--unread {
  border-color: rgba(var(--cms-primary-rgb), .32);
  background: rgba(var(--cms-primary-rgb), .05);
}

.form-control:focus,
.form-select:focus {
  border-color: rgba(var(--cms-primary-rgb), .5);
  box-shadow: 0 0 0 .2rem rgba(var(--cms-primary-rgb), .12);
}

.details-list {
  margin: 0;
}

.details-list > div {
  display: grid;
  grid-template-columns: 12rem 1fr;
  gap: 1rem;
  min-width: 0;
  padding: 1rem 0;
  border-bottom: 1px solid var(--bs-border-color);
}

.details-list > div:first-child {
  padding-top: 0;
}

.details-list > div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.details-list dt {
  min-width: 0;
  color: var(--bs-secondary-color);
  font-weight: 700;
}

.details-list dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.details-list dd code,
.details-list dd a {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.details-list--compact > div {
  grid-template-columns: 8rem 1fr;
  gap: .75rem;
  padding: .75rem 0;
}

.act-type-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  align-items: end;
}

.act-type-row__form {
  display: grid;
  grid-template-columns: minmax(14rem, 1fr) 8rem 9rem auto;
  gap: 1rem;
  align-items: end;
}

.activity-log-filters {
  display: grid;
  grid-template-columns: minmax(12rem, .8fr) minmax(10rem, .55fr) minmax(12rem, .65fr) repeat(2, minmax(13rem, 1fr));
  gap: 1rem;
  align-items: stretch;
}

.admin-page-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.5rem;
  border: 1px solid rgba(var(--cms-primary-rgb), .1);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 .75rem 2rem rgba(var(--cms-primary-rgb), .06);
}

.activity-logs-heading .btn {
  flex: 0 0 auto;
}

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

.activity-log-summary__item {
  position: relative;
  min-width: 0;
  padding: 1.15rem;
  border: 1px solid rgba(var(--cms-primary-rgb), .1);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 .75rem 2rem rgba(var(--cms-primary-rgb), .05);
}

.activity-log-summary__item span {
  display: block;
  color: var(--bs-secondary-color);
  font-size: .82rem;
  font-weight: 800;
}

.activity-log-summary__item strong {
  display: block;
  margin-top: .35rem;
  color: #18212f;
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  line-height: 1;
}

.activity-log-summary__item--accent {
  border-color: rgba(var(--cms-primary-rgb), .26);
  background: linear-gradient(135deg, rgba(var(--cms-primary-rgb), .1), #fff);
}

.activity-log-period {
  display: grid;
  grid-template-columns: 1fr;
  gap: .85rem;
  align-content: start;
}

.activity-log-filter-actions {
  display: flex;
  grid-column: 1 / -1;
  align-items: end;
  justify-content: flex-end;
}

.activity-log-checkbox-panel {
  display: grid;
  gap: .45rem;
  min-width: 0;
}

.activity-log-checkbox-panel__all {
  font-weight: 700;
}

.activity-log-checkbox-list {
  display: grid;
  max-height: 10rem;
  gap: .35rem;
  overflow: auto;
  padding: .5rem .75rem;
  border: 1px solid var(--bs-border-color);
  border-radius: .5rem;
  background: #fff;
}

.activity-log-checkbox-list .form-check {
  min-width: 0;
}

.activity-log-checkbox-list .form-check-label {
  overflow-wrap: anywhere;
}

.activity-log-table-card {
  overflow: hidden;
}

.activity-log-table-wrap {
  max-width: 100%;
}

.activity-log-table {
  width: 100%;
  table-layout: fixed;
}

.activity-log-table th:nth-child(1) { width: 14%; }
.activity-log-table th:nth-child(2) { width: 17%; }
.activity-log-table th:nth-child(3) { width: 12%; }
.activity-log-table th:nth-child(4) { width: 19%; }
.activity-log-table th:nth-child(5) { width: 16%; }
.activity-log-table th:nth-child(6) { width: 22%; }

.activity-log-table thead th {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid rgba(var(--cms-primary-rgb), .1);
  color: var(--bs-secondary-color);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
  white-space: nowrap;
}

.activity-log-table tbody td {
  padding: 1rem 1.25rem;
  border-color: rgba(var(--cms-primary-rgb), .08);
  vertical-align: top;
}

.activity-log-table__time,
.activity-log-table__actor,
.activity-log-table__object {
  min-width: 0;
  overflow-wrap: anywhere;
}

.activity-log-table__time strong,
.activity-log-table__actor strong,
.activity-log-table__object strong {
  display: block;
  color: #18212f;
  font-size: .94rem;
}

.activity-log-table__time span,
.activity-log-table__actor span,
.activity-log-table__object span {
  display: block;
  margin-top: .2rem;
  color: var(--bs-secondary-color);
  font-size: .82rem;
}

.activity-log-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  max-width: 100%;
}

.activity-log-badges .badge {
  max-width: 100%;
  white-space: normal;
  text-align: left;
  overflow-wrap: anywhere;
}

.activity-log-table__details {
  min-width: 0;
  max-width: 100%;
}

.activity-log-table__details code {
  display: block;
  max-height: 6.25rem;
  overflow: auto;
  padding: .65rem .75rem;
  border: 1px solid rgba(var(--cms-primary-rgb), .1);
  border-radius: .65rem;
  color: #334155;
  background: #f8fafc;
  font-size: .78rem;
  white-space: normal;
  overflow-wrap: anywhere;
}

.activity-log-pagination {
  display: flex;
  justify-content: center;
  max-width: 100%;
  overflow-x: auto;
  padding: 1rem;
}

.activity-log-pagination nav {
  max-width: 100%;
}

.activity-log-pagination .pagination {
  flex-wrap: wrap;
  justify-content: center;
  gap: .35rem;
  margin: 0;
}

.activity-log-pagination .page-link {
  min-width: 2.35rem;
  border-radius: .65rem;
  text-align: center;
}

.modal-backdrop.show {
  opacity: .45;
}

.menu-builder-item {
  transition: border-color .15s ease, box-shadow .15s ease;
}

.menu-builder-item:focus-within,
.menu-builder-item:hover {
  border-color: rgba(var(--cms-primary-rgb), .35) !important;
  box-shadow: 0 .75rem 1.5rem rgba(16, 24, 40, .06);
}

.menu-builder-handle {
  display: inline-grid;
  width: 1.75rem;
  height: 1.75rem;
  place-items: center;
  border: 1px solid var(--bs-border-color);
  border-radius: .375rem;
  color: var(--bs-secondary-color);
  background: var(--bs-tertiary-bg);
  font-weight: 800;
  cursor: grab;
}

.menu-builder-type-select {
  width: auto;
  min-width: 11rem;
}

.docs-registry-act-search {
  position: relative;
}

.docs-registry-search-actions {
  display: flex;
  justify-content: flex-end;
  gap: .5rem;
}

.docs-registry-search-actions .btn {
  min-width: 5.25rem;
  white-space: nowrap;
}

.docs-registry-filter-form {
  display: grid;
  grid-template-columns: minmax(16rem, 1.5fr) repeat(2, minmax(12rem, 1fr)) auto;
  gap: 1rem;
  align-items: end;
}

.docs-registry-filter-form--compact {
  grid-template-columns: minmax(16rem, 1.5fr) minmax(12rem, 1fr) auto;
}

.docs-registry-filter-form--acts {
  grid-template-columns: minmax(16rem, 1.4fr) repeat(3, minmax(11rem, 1fr)) auto;
}

.docs-registry-filter-form__field {
  min-width: 0;
}

.docs-registry-filter-form__actions {
  min-width: max-content;
}

.docs-registry-act-search__results {
  display: none;
  position: absolute;
  z-index: 1060;
  right: 0;
  left: 0;
  max-height: 16rem;
  overflow: auto;
}

.docs-registry-act-search__results.is-open {
  display: block;
}

.docs-registry-public-layout {
  width: 100%;
}

.docs-registry-public-content {
  flex: 1 1 auto;
  min-width: 0;
}

.docs-registry-public-sidebar {
  flex: 0 0 17rem;
  width: 17rem;
  position: sticky;
  top: 7rem;
}

/* Pulse civic interface refresh */
:root {
  --pulse-ink: #0b1220;
  --pulse-ink-soft: #334155;
  --pulse-muted: #64748b;
  --pulse-line: rgba(15, 23, 42, .1);
  --pulse-line-strong: rgba(15, 23, 42, .16);
  --pulse-surface: rgba(255, 255, 255, .84);
  --pulse-surface-solid: #ffffff;
  --pulse-canvas: #f6f8fb;
  --pulse-canvas-2: #edf6f4;
  --pulse-accent: #0f766e;
  --pulse-accent-2: #2563eb;
  --pulse-warm: #f59e0b;
  --pulse-danger: #e11d48;
  --pulse-radius-sm: .5rem;
  --pulse-radius: .75rem;
  --pulse-radius-lg: 1rem;
  --pulse-shadow-sm: 0 .5rem 1.25rem rgba(15, 23, 42, .06);
  --pulse-shadow: 0 1rem 3rem rgba(15, 23, 42, .1);
  --pulse-shadow-lg: 0 1.75rem 4.5rem rgba(15, 23, 42, .14);
}

html {
  scroll-behavior: smooth;
}

body {
  color: var(--pulse-ink);
  font-family: Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  letter-spacing: 0;
}

body.public-site {
  position: relative;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 10% -10%, rgba(var(--cms-primary-rgb), .16), transparent 28rem),
    radial-gradient(circle at 86% 0%, rgba(37, 99, 235, .12), transparent 24rem),
    linear-gradient(180deg, #fbfdff 0%, #f1f7f6 44%, #f8fafc 100%);
  color: var(--pulse-ink);
}

body.public-site::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    linear-gradient(rgba(15, 23, 42, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 23, 42, .035) 1px, transparent 1px);
  background-size: 36px 36px;
  mask-image: linear-gradient(180deg, #000 0%, transparent 76%);
}

.public-container,
.container-xl {
  width: min(100% - 2rem, 1260px);
}

.public-header {
  top: .75rem;
  width: min(100% - 1.5rem, 1260px);
  margin: .75rem auto 0;
  overflow: visible;
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: var(--pulse-radius-lg);
  background: rgba(255, 255, 255, .82);
  box-shadow: var(--pulse-shadow);
  backdrop-filter: blur(22px) saturate(1.25);
}

.public-header__top {
  border-radius: calc(var(--pulse-radius-lg) - 1px) calc(var(--pulse-radius-lg) - 1px) 0 0;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .08), transparent 34%),
    color-mix(in srgb, var(--cms-primary) 94%, #0b1220);
}

.public-header__top-inner {
  min-height: 2.15rem;
  font-size: .78rem;
}

.public-accessibility__select,
.public-accessibility__button {
  min-height: 1.72rem;
  border-color: rgba(255, 255, 255, .34);
  border-radius: 999px;
  font-size: .74rem;
}

.public-header__account {
  font-size: .82rem;
}

.public-header__account a,
.public-link-button {
  opacity: .95;
}

.public-header__main {
  min-height: 4.85rem;
  padding-block: .65rem;
}

.public-logo-pair {
  gap: .85rem;
}

.public-community-crest,
.community-crest {
  filter: drop-shadow(0 .45rem .85rem rgba(15, 23, 42, .12));
}

.public-logo-text {
  color: var(--pulse-ink);
  font-size: clamp(1.12rem, 2.2vw, 1.62rem);
  font-weight: 950;
}

.public-profile-link,
.public-menu-button,
.public-site .btn,
.btn {
  border-radius: 999px;
}

.public-nav {
  border-top: 1px solid rgba(15, 23, 42, .07);
  background: rgba(255, 255, 255, .42);
}

.public-nav .public-container {
  display: flex;
}

.public-nav__list {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(auto-fit, minmax(max-content, 1fr)) minmax(18rem, 24rem);
  gap: .35rem;
  align-items: center;
  padding: .55rem 0;
}

.public-nav__item {
  min-width: 0;
}

.public-nav__link {
  justify-content: center;
  min-height: 2.7rem;
  padding: .62rem .82rem;
  border-radius: 999px;
  color: var(--pulse-ink) !important;
  font-size: .91rem;
  font-weight: 850;
  white-space: nowrap;
  transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.public-nav__link:hover,
.public-nav__link:focus {
  transform: translateY(-1px);
  color: var(--cms-primary) !important;
  background: rgba(var(--cms-primary-rgb), .1);
}

.public-nav .dropdown-menu {
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: var(--pulse-radius);
  box-shadow: var(--pulse-shadow);
}

.public-nav__search {
  max-width: none;
  min-width: 0;
  padding: 0;
}

.public-nav__search form {
  padding: .18rem;
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 999px;
  background: rgba(255, 255, 255, .72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

.public-nav__search-input {
  min-height: 2.55rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  box-shadow: none !important;
}

.public-nav__search-button {
  width: 2.55rem;
  min-height: 2.55rem;
  border-color: rgba(var(--cms-primary-rgb), .18);
  color: #fff;
  background: var(--cms-primary);
}

.public-main {
  padding-top: clamp(1.25rem, 3vw, 2.4rem) !important;
}

.public-page-title,
.public-page-hero,
.public-hero,
.public-panel,
.public-sidebar,
.public-record-card,
.public-feature-card,
.public-filter-panel,
.public-side-panel,
.public-article-main,
.public-article-hero,
.public-publication-card,
.public-search-panel,
.public-search-block,
.public-empty-state,
.public-appeal-form-panel,
.public-appeal-summary,
.public-document-panel,
.public-account-panel,
.public-response-panel,
.public-notification-item,
.card {
  border: 1px solid var(--pulse-line);
  border-radius: var(--pulse-radius-lg);
  background: var(--pulse-surface);
  box-shadow: var(--pulse-shadow-sm);
  backdrop-filter: blur(16px) saturate(1.08);
}

.public-page-title,
.public-page-hero,
.public-hero,
.public-article-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(255, 255, 255, .68)),
    linear-gradient(115deg, rgba(var(--cms-primary-rgb), .13), transparent 52%),
    linear-gradient(300deg, rgba(37, 99, 235, .1), transparent 45%);
  box-shadow: var(--pulse-shadow);
}

.public-page-title::before,
.public-page-hero::before,
.public-hero::before,
.public-article-hero::before {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: .28rem;
  background: linear-gradient(90deg, var(--cms-primary), var(--pulse-accent-2), var(--pulse-warm));
}

.public-page-hero__title,
.public-hero__title,
.public-article__title,
.display-5,
h1 {
  color: var(--pulse-ink);
  font-weight: 950;
  letter-spacing: 0;
}

.public-page-hero__title,
.public-hero__title {
  font-size: clamp(2.15rem, 6vw, 5rem);
  line-height: .98;
}

.public-page-hero__lead,
.public-hero__lead,
.lead,
.text-secondary {
  color: var(--pulse-muted) !important;
}

.eyebrow,
.public-site .eyebrow {
  color: var(--cms-primary);
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: 0;
}

.public-site .btn,
.btn {
  min-height: 2.55rem;
  padding: .62rem 1rem;
  font-weight: 850;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
}

.public-site .btn:hover,
.public-site .btn:focus,
.btn:hover,
.btn:focus {
  transform: translateY(-1px);
}

.public-site .btn-primary,
.btn-primary {
  border-color: transparent;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--cms-primary) 92%, #fff), var(--cms-primary));
  box-shadow: 0 .75rem 1.6rem rgba(var(--cms-primary-rgb), .24);
}

.public-site .btn-outline-primary,
.btn-outline-primary {
  border-color: rgba(var(--cms-primary-rgb), .28);
  color: var(--cms-primary);
  background: rgba(255, 255, 255, .7);
}

.public-site .form-control,
.public-site .form-select,
.form-control,
.form-select {
  min-height: 2.9rem;
  border-color: rgba(15, 23, 42, .14);
  border-radius: var(--pulse-radius);
  color: var(--pulse-ink);
  background-color: rgba(255, 255, 255, .86);
}

.form-control:focus,
.form-select:focus {
  border-color: rgba(var(--cms-primary-rgb), .55);
  box-shadow: 0 0 0 .22rem rgba(var(--cms-primary-rgb), .12);
}

.table-responsive {
  border-radius: var(--pulse-radius);
}

.table {
  --bs-table-bg: transparent;
  --bs-table-hover-bg: rgba(var(--cms-primary-rgb), .045);
}

.table thead th {
  color: var(--pulse-muted);
  font-size: .75rem;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.table tbody td {
  color: var(--pulse-ink-soft);
  vertical-align: middle;
}

.badge,
.public-status-pill,
.public-status-pill--small {
  border-radius: 999px;
  font-weight: 850;
}

.public-status-pill,
.badge.text-bg-primary {
  border: 1px solid rgba(var(--cms-primary-rgb), .2);
  color: var(--cms-primary) !important;
  background: rgba(var(--cms-primary-rgb), .1) !important;
}

.public-content-layout,
.public-content-with-sidebar,
.public-article-layout,
.public-appeal-layout,
.public-appeal-form-layout,
.docs-registry-public-layout {
  gap: clamp(1rem, 2vw, 1.5rem);
}

.public-side-panel,
.public-filter-panel,
.docs-registry-public-sidebar,
.public-budget-project-sidebar,
.public-consultation-sidebar,
.public-flush-sidebar {
  align-self: stretch;
}

.docs-registry-public-sidebar > *,
.public-budget-project-sidebar > *,
.public-consultation-sidebar > *,
.public-flush-sidebar > *,
.public-side-panel {
  border-radius: var(--pulse-radius-lg);
}

.public-record-link,
.public-feature-card,
.public-publication-card,
.public-account-appeal-card,
.dashboard-list-item,
.settings-item,
.module-card,
.dashboard-card {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}

.public-record-link:hover,
.public-feature-card:hover,
.public-publication-card:hover,
.public-account-appeal-card:hover,
.dashboard-list-item:hover,
.settings-item:hover,
.module-card:hover,
.dashboard-card:hover {
  transform: translateY(-2px);
  border-color: rgba(var(--cms-primary-rgb), .32) !important;
  box-shadow: var(--pulse-shadow) !important;
}

.public-footer {
  margin-top: clamp(2.5rem, 6vw, 5rem);
  border-radius: var(--pulse-radius-lg) var(--pulse-radius-lg) 0 0;
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 255, 255, .16), transparent 22rem),
    linear-gradient(135deg, color-mix(in srgb, var(--cms-primary) 82%, #0b1220), #0b1220);
}

.public-footer__inner,
.public-footer__bottom {
  padding-block: 1.5rem;
}

.public-footer__links {
  width: 100%;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}

body.bg-body-tertiary {
  background:
    radial-gradient(circle at 0% 0%, rgba(var(--cms-primary-rgb), .12), transparent 25rem),
    linear-gradient(180deg, #f8fafc, #eef4f7);
}

.navbar.bg-white {
  margin: .75rem auto 0;
  width: min(100% - 1.5rem, 1260px);
  border: 1px solid rgba(255, 255, 255, .75) !important;
  border-radius: var(--pulse-radius-lg);
  background: rgba(255, 255, 255, .86) !important;
  box-shadow: var(--pulse-shadow-sm);
  backdrop-filter: blur(18px);
}

.admin-sidebar {
  top: 6.25rem;
}

.admin-sidebar.card,
.admin-page-heading,
.activity-log-summary__item,
.activity-log-table-card {
  border: 1px solid var(--pulse-line) !important;
  border-radius: var(--pulse-radius-lg) !important;
  background: rgba(255, 255, 255, .86) !important;
  box-shadow: var(--pulse-shadow-sm) !important;
}

.admin-sidebar-link,
.admin-sidebar-heading,
.admin-sidebar-sublink {
  border-radius: var(--pulse-radius);
}

.admin-sidebar-link.is-active,
.admin-sidebar-heading.is-active,
.admin-sidebar-sublink.is-active {
  background: rgba(var(--cms-primary-rgb), .1);
  color: var(--cms-primary);
}

.admin-subnav .nav-link {
  border-radius: 999px;
}

.alert {
  border: 1px solid transparent;
  border-radius: var(--pulse-radius);
  box-shadow: var(--pulse-shadow-sm);
}

.alert-success {
  border-color: rgba(16, 185, 129, .18);
  color: #065f46;
  background: rgba(236, 253, 245, .92);
}

.alert-danger {
  border-color: rgba(225, 29, 72, .18);
  color: #881337;
  background: rgba(255, 241, 242, .94);
}

body.public-scheme-dark.public-site {
  --pulse-ink: #f8fafc;
  --pulse-ink-soft: #e2e8f0;
  --pulse-muted: #cbd5e1;
  --pulse-line: rgba(226, 232, 240, .18);
  --pulse-surface: rgba(15, 23, 42, .9);
  background: #07111f;
}

body.public-scheme-dark .public-header,
body.public-scheme-dark .public-nav,
body.public-scheme-dark .public-page-title,
body.public-scheme-dark .public-page-hero,
body.public-scheme-dark .public-hero,
body.public-scheme-dark .public-panel,
body.public-scheme-dark .public-sidebar,
body.public-scheme-dark .public-record-card,
body.public-scheme-dark .public-feature-card,
body.public-scheme-dark .public-filter-panel,
body.public-scheme-dark .public-side-panel,
body.public-scheme-dark .public-article-main,
body.public-scheme-dark .public-article-hero,
body.public-scheme-dark .public-publication-card,
body.public-scheme-dark .public-search-panel,
body.public-scheme-dark .public-search-block,
body.public-scheme-dark .public-empty-state,
body.public-scheme-dark .card {
  border-color: var(--pulse-line);
  color: var(--pulse-ink);
  background: var(--pulse-surface);
}

body.public-scheme-dark .public-logo-text,
body.public-scheme-dark h1,
body.public-scheme-dark h2,
body.public-scheme-dark h3,
body.public-scheme-dark h4,
body.public-scheme-dark h5,
body.public-scheme-dark h6,
body.public-scheme-dark .public-nav__link {
  color: var(--pulse-ink) !important;
}

body.public-scheme-dark .form-control,
body.public-scheme-dark .form-select,
body.public-scheme-dark .public-nav__search form {
  color: #f8fafc;
  border-color: rgba(226, 232, 240, .28);
  background: rgba(2, 6, 23, .58);
}

body.public-scheme-contrast.public-site {
  --pulse-ink: #000;
  --pulse-ink-soft: #000;
  --pulse-muted: #111;
  --pulse-line: #000;
  --pulse-surface: #fff;
  background: #fff;
}

body.public-scheme-contrast .public-header,
body.public-scheme-contrast .public-page-title,
body.public-scheme-contrast .public-page-hero,
body.public-scheme-contrast .public-hero,
body.public-scheme-contrast .public-panel,
body.public-scheme-contrast .card {
  border-color: #000;
  box-shadow: none;
  backdrop-filter: none;
}

@media (max-width: 1180px) {
  .public-nav__list {
    grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
  }

  .public-nav__search {
    grid-column: 1 / -1;
  }
}

@media (max-width: 992px) {
  .public-header {
    top: .5rem;
    width: min(100% - 1rem, 1260px);
  }

  .public-nav__list {
    display: grid;
    grid-template-columns: 1fr;
  }

  .public-nav__link {
    justify-content: flex-start;
  }

  .public-header__main {
    min-height: 4.5rem;
  }
}

@media (max-width: 576px) {
  .public-container,
  .container-xl {
    width: min(100% - 1rem, 1260px);
  }

  .public-header__top-inner,
  .public-header__main {
    gap: .75rem;
  }

  .public-logo-text {
    font-size: 1.05rem;
  }

  .public-community-crest {
    height: 2.75rem;
  }

  .public-page-hero__title,
  .public-hero__title {
    font-size: clamp(2rem, 12vw, 3.4rem);
  }

  .details-list > div,
  .details-list--compact > div {
    grid-template-columns: 1fr;
    gap: .35rem;
  }
}

@media (max-width: 992px) {
  .admin-page-heading {
    flex-direction: column;
  }

  .activity-log-summary {
    grid-template-columns: 1fr 1fr;
  }

  .admin-sidebar {
    position: static;
  }

  .docs-registry-public-sidebar {
    position: static;
    width: 100%;
  }

  .docs-registry-search-actions {
    justify-content: flex-start;
  }

  .docs-registry-filter-form,
  .docs-registry-filter-form--compact,
  .docs-registry-filter-form--acts {
    grid-template-columns: 1fr 1fr;
  }

  .docs-registry-filter-form__actions {
    grid-column: 1 / -1;
    min-width: 0;
  }

  .act-type-row,
  .act-type-row__form,
  .activity-log-filters {
    grid-template-columns: 1fr;
  }

  .activity-log-filter-actions .btn,
  .activity-logs-heading .btn {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .activity-log-summary {
    grid-template-columns: 1fr;
  }

  .activity-log-table {
    min-width: 44rem;
    table-layout: auto;
  }

  .details-list > div {
    grid-template-columns: 1fr;
    gap: .35rem;
  }

  .docs-registry-search-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .docs-registry-filter-form,
  .docs-registry-filter-form--compact,
  .docs-registry-filter-form--acts {
    grid-template-columns: 1fr;
  }

  .docs-registry-search-actions .btn {
    width: 100%;
  }

  .docs-registry-content img[style*="float"] {
    float: none !important;
    display: block;
    max-width: 100%;
    margin: 0 0 1rem !important;
  }
}

.docs-registry-content > *:last-child {
  margin-bottom: 0;
}

.docs-registry-content figure {
  margin: 0 0 1rem;
}

.docs-registry-content table {
  max-width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
}

.docs-registry-content img {
  max-width: 100%;
  height: auto;
}

.docs-registry-content img[style*="float: left"],
.docs-registry-content img[style*="float:left"],
.docs-registry-content img[style*="float: right"],
.docs-registry-content img[style*="float:right"] {
  max-width: min(50%, 24rem);
}

.docs-registry-content::after {
  content: "";
  display: block;
  clear: both;
}

.docs-registry-content ul,
.docs-registry-content ol {
  padding-left: 1.5rem;
  margin-bottom: 1rem;
}

.docs-registry-content li {
  margin-bottom: .35rem;
}

.docs-registry-file-card {
  min-width: 0;
  overflow: hidden;
}

.docs-registry-file-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem;
  min-width: 0;
}

.docs-registry-file-card__body {
  min-width: 0;
  flex: 1 1 auto;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.docs-registry-file-card__badge {
  flex: 0 0 auto;
  max-width: 100%;
  white-space: nowrap;
  text-align: center;
}

.docs-registry-file-card .public-record-card__meta {
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 420px) {
  .docs-registry-file-card__header {
    flex-direction: column;
  }

  .docs-registry-file-card__badge {
    align-self: flex-start;
  }
}

.docs-registry-tiptap {
  overflow: hidden;
  border: 1px solid var(--bs-border-color);
  border-radius: .5rem;
  background: #fff;
}

.docs-registry-tiptap--public {
  border-color: rgba(var(--cms-primary-rgb), .16);
  border-radius: 1rem;
  box-shadow: 0 1rem 2.5rem rgba(9, 32, 67, .08);
}

.docs-registry-tiptap__toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  padding: .75rem;
  border-bottom: 1px solid var(--bs-border-color);
  background: var(--bs-tertiary-bg);
}

.docs-registry-tiptap--public .docs-registry-tiptap__toolbar {
  gap: .35rem;
  padding: .85rem;
  background:
    linear-gradient(135deg, rgba(var(--cms-primary-rgb), .07), rgba(255, 255, 255, .95)),
    #fff;
}

.docs-registry-tiptap__toolbar-group {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .25rem;
  padding-right: .5rem;
  border-right: 1px solid var(--bs-border-color);
}

.docs-registry-tiptap__toolbar-group:last-child {
  padding-right: 0;
  border-right: 0;
}

.docs-registry-tiptap--public .docs-registry-tiptap__toolbar-group {
  gap: .2rem;
  padding: .2rem .55rem .2rem 0;
  border-color: rgba(var(--cms-primary-rgb), .14);
}

.docs-registry-tiptap__button {
  display: inline-grid;
  place-items: center;
  min-width: 2.25rem;
  min-height: 2.25rem;
  padding: .35rem .65rem;
  border: 1px solid var(--bs-border-color);
  border-radius: .375rem;
  color: #18212f;
  background: #fff;
  font-size: .9rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.docs-registry-tiptap--public .docs-registry-tiptap__button {
  min-width: 2.45rem;
  min-height: 2.45rem;
  border-color: transparent;
  border-radius: .75rem;
  color: #0d1726;
  background: rgba(255, 255, 255, .8);
}

.docs-registry-tiptap__button svg {
  width: 1.15rem;
  height: 1.15rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.docs-registry-tiptap__text-icon {
  min-width: 1.15rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: .95rem;
  line-height: 1;
  text-align: center;
}

.docs-registry-tiptap__text-icon--bold {
  font-weight: 800;
}

.docs-registry-tiptap__text-icon--italic {
  font-style: italic;
}

.docs-registry-tiptap__text-icon--underline {
  text-decoration: underline;
  text-underline-offset: .14rem;
}

.docs-registry-tiptap__select {
  min-height: 2.25rem;
  max-width: 12rem;
  padding: .35rem 2rem .35rem .65rem;
  border: 1px solid var(--bs-border-color);
  border-radius: .375rem;
  color: #18212f;
  background-color: #fff;
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.2;
}

.docs-registry-tiptap__select[data-action="fontSize"] {
  max-width: 8rem;
}

.docs-registry-tiptap__select:focus {
  border-color: rgba(var(--cms-primary-rgb), .5);
  outline: 0;
  box-shadow: 0 0 0 .2rem rgba(var(--cms-primary-rgb), .12);
}

.docs-registry-tiptap__button:hover:not(:disabled),
.docs-registry-tiptap__button.is-active {
  border-color: rgba(var(--cms-primary-rgb), .35);
  color: var(--cms-primary);
  background: rgba(var(--cms-primary-rgb), .1);
}

.docs-registry-tiptap--public .docs-registry-tiptap__button:hover:not(:disabled),
.docs-registry-tiptap--public .docs-registry-tiptap__button.is-active {
  border-color: rgba(var(--cms-primary-rgb), .22);
  color: var(--cms-primary);
  background: rgba(var(--cms-primary-rgb), .12);
}

.docs-registry-tiptap__button:disabled {
  opacity: .5;
}

.docs-registry-tiptap__editor {
  min-height: 22rem;
  padding: 1rem;
}

.docs-registry-tiptap--public .docs-registry-tiptap__editor {
  min-height: 18rem;
  padding: 1.25rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, 1)),
    #fff;
}

.docs-registry-tiptap__editor .ProseMirror {
  min-height: 20rem;
  outline: none;
}

.docs-registry-tiptap--public .docs-registry-tiptap__editor .ProseMirror {
  min-height: 15rem;
  color: #111827;
  font-size: 1rem;
  line-height: 1.75;
}

.docs-registry-tiptap__editor .ProseMirror table {
  width: 100%;
  margin-bottom: 1rem;
  border-collapse: collapse;
}

.docs-registry-tiptap__editor .ProseMirror ul,
.docs-registry-tiptap__editor .ProseMirror ol {
  padding-left: 1.5rem;
}

.docs-registry-tiptap__editor .ProseMirror th,
.docs-registry-tiptap__editor .ProseMirror td {
  position: relative;
  min-width: 4rem;
  padding: .5rem;
  border: 1px solid var(--bs-border-color);
  vertical-align: top;
}

.docs-registry-tiptap__editor .ProseMirror .selectedCell::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: rgba(var(--cms-primary-rgb), .14);
  pointer-events: none;
}

.docs-registry-tiptap__editor .ProseMirror .column-resize-handle {
  position: absolute;
  top: 0;
  right: -.125rem;
  bottom: 0;
  width: .25rem;
  background: var(--cms-primary);
  pointer-events: none;
}

.docs-registry-tiptap__editor .docs-registry-page-break {
  position: relative;
  height: 2.25rem;
  margin: 1.25rem 0;
  border-top: 1px dashed var(--bs-border-color);
}

.docs-registry-tiptap__editor .docs-registry-page-break::after {
  position: absolute;
  top: -.7rem;
  left: 50%;
  padding: .15rem .6rem;
  color: var(--bs-secondary-color);
  background: #fff;
  font-size: .75rem;
  font-weight: 700;
  content: "Розрив сторінки";
  transform: translateX(-50%);
}

.docs-registry-content > *:last-child {
  margin-bottom: 0;
}

.docs-registry-content h2,
.docs-registry-content h3,
.docs-registry-content h4 {
  margin-top: 0;
  margin-bottom: .5rem;
  font-weight: 700;
  line-height: 1.2;
}

.docs-registry-content figure {
  margin: 0 0 1rem;
}

.docs-registry-content table {
  max-width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
}

.docs-registry-content th,
.docs-registry-content td {
  vertical-align: top;
}

.docs-registry-public-text {
  color: #18212f;
  font-size: 1rem;
  line-height: 1.7;
}

.docs-registry-public-text .docs-registry-content {
  overflow-wrap: anywhere;
}

.docs-registry-public-text .docs-registry-content p {
  margin-bottom: 1rem;
}

.docs-registry-public-text .docs-registry-content h1,
.docs-registry-public-text .docs-registry-content h2,
.docs-registry-public-text .docs-registry-content h3,
.docs-registry-public-text .docs-registry-content h4 {
  margin-top: 1.5rem;
  margin-bottom: .75rem;
  line-height: 1.25;
}

.docs-registry-public-text .docs-registry-content h1:first-child,
.docs-registry-public-text .docs-registry-content h2:first-child,
.docs-registry-public-text .docs-registry-content h3:first-child,
.docs-registry-public-text .docs-registry-content h4:first-child {
  margin-top: 0;
}

.docs-registry-public-text .docs-registry-content table {
  width: 100%;
  border-collapse: collapse;
}

.docs-registry-public-text .docs-registry-content th,
.docs-registry-public-text .docs-registry-content td {
  padding: .65rem .75rem;
  border: 1px solid var(--bs-border-color);
}

.docs-registry-public-text .docs-registry-content blockquote {
  margin: 1rem 0;
  padding: .85rem 1rem;
  border-left: .25rem solid rgba(var(--cms-primary-rgb), .35);
  background: var(--bs-tertiary-bg);
}

.docs-registry-public-text .docs-registry-page-break {
  display: none;
}

.public-print-footer {
  display: none;
}

.public-print-footer__brand {
  display: flex;
  justify-content: center;
  margin-bottom: .05rem;
}

.public-print-footer__logo {
  display: block;
  width: 4.75rem;
  height: auto;
  color: #111827;
  --pulse-logo-signal: #fff;
}

.public-print-footer__text {
  color: #111827;
  font-size: 7.5pt;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
}

.public-document-action-button {
  width: 3rem;
  min-width: 3rem;
  height: 3rem;
  padding: 0;
}

.public-document-action-button svg {
  width: 1.6rem;
  height: 1.6rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.public-document-hero__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(1rem, 3vw, 2rem);
  align-items: end;
}

.public-document-hero__row > div {
  min-width: 0;
}

.public-document-hero__actions {
  justify-content: flex-end;
  max-width: 14rem;
}

.public-document-hero__actions .btn:not(.public-document-action-button) {
  max-width: 100%;
  white-space: normal;
}

.public-document-secondary .public-panel,
.public-document-secondary .docs-registry-public-sidebar {
  width: 100%;
}

.public-document-secondary .docs-registry-public-sidebar {
  position: static;
  flex: 1 1 auto;
  box-sizing: border-box;
}

.public-document-print-frame {
  position: absolute;
  top: 0;
  left: -10000px;
  width: 1px;
  height: 1px;
  border: 0;
}

@media print {
  @page {
    margin: 16mm 14mm 22mm;
  }

  html,
  body {
    height: auto !important;
    min-height: 0 !important;
    background: #fff !important;
  }

  body.public-site {
    height: auto !important;
    min-height: 0 !important;
    color: #111827 !important;
    background: #fff !important;
    font-family: Arial, "Helvetica Neue", sans-serif !important;
  }

  body.public-site::before {
    display: none !important;
    content: none !important;
  }

  .public-header,
  .public-footer,
  .public-document-page-header,
  .public-document-content-header,
  .public-document-navigation,
  .public-document-actions,
  .public-document-secondary,
  .public-document-related,
  .alert {
    display: none !important;
  }

  .public-main,
  .public-container {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  main.public-main.public-container {
    min-height: 0 !important;
    padding-block: 0 !important;
  }

  .public-document-main {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .public-site .card,
  .public-site .shadow-sm {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .public-site .card-body {
    padding: 0 !important;
  }

  .docs-registry-public-text {
    color: #111827 !important;
    font-size: 11pt !important;
    line-height: 1.45 !important;
    padding-bottom: 0 !important;
  }

  .docs-registry-public-text .docs-registry-page-break {
    display: block !important;
    height: 0 !important;
    margin: 0 !important;
    break-after: page;
    page-break-after: always;
  }

  .docs-registry-public-text .docs-registry-content table {
    page-break-inside: avoid;
  }

  .public-print-footer {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    display: block !important;
    padding-top: 1.5mm;
    border-top: .35pt solid #d1d5db;
    background: transparent;
  }

  body.pdf-export .public-print-footer {
    display: none !important;
  }

  .public-document-print-content {
    display: block !important;
  }
}

.pulse-dialog {
  display: block;
  background: transparent;
}

.pulse-dialog .modal-dialog {
  pointer-events: auto;
}

.pulse-dialog .modal-content {
  border: 1px solid rgba(24, 33, 47, .12);
  border-radius: .75rem;
  box-shadow: 0 1.25rem 3rem rgba(24, 33, 47, .18);
}

.pulse-dialog .modal-header,
.pulse-dialog .modal-footer {
  border-color: var(--bs-border-color);
}

.pulse-dialog .form-label {
  font-weight: 700;
}

.pulse-dialog-backdrop {
  z-index: 1050;
}

.pulse-dialog {
  z-index: 1060;
}

.public-site {
  min-height: 100vh;
  background: #f4f6f9;
  color: #101827;
  font-family: Arial, "Helvetica Neue", sans-serif;
}

.public-container {
  width: min(100% - 2rem, 1180px);
  margin-inline: auto;
}

.public-skip-link {
  position: absolute;
  z-index: 1100;
  top: .75rem;
  left: .75rem;
  transform: translateY(-200%);
  padding: .65rem .9rem;
  color: #fff;
  background: var(--cms-primary);
  text-decoration: none;
}

.public-skip-link:focus {
  transform: translateY(0);
}

.public-header {
  position: sticky;
  z-index: 1020;
  top: 0;
  border-bottom: 1px solid rgba(9, 32, 67, .12);
  background: #fff;
  box-shadow: 0 .5rem 1.5rem rgba(9, 32, 67, .06);
}

.public-header__top {
  background: var(--cms-primary);
  color: #fff;
  font-size: .875rem;
  font-weight: 700;
}

.public-header__top-inner,
.public-header__account,
.public-header__main {
  display: flex;
  align-items: center;
}

.public-header__top-inner {
  min-height: 2.5rem;
  justify-content: space-between;
  gap: 1rem;
}

.public-header__account {
  gap: 1rem;
}

.public-header__account a,
.public-link-button {
  color: #fff;
  font: inherit;
  text-decoration: none;
}

.public-link-button {
  padding: 0;
  border: 0;
  background: transparent;
}

.public-header__account .button_to {
  margin: 0;
}

.public-header__main {
  min-height: 6rem;
  justify-content: space-between;
  gap: 1.5rem;
}

.public-logo img {
  display: block;
  width: min(18rem, 58vw);
  height: auto;
  max-height: 4.25rem;
  object-fit: contain;
}

.public-menu-button {
  display: none;
  padding: .65rem .9rem;
  border: 1px solid rgba(var(--cms-primary-rgb), .25);
  border-radius: 0;
  color: var(--cms-primary);
  background: #fff;
  font-weight: 800;
}

.public-nav {
  border-top: 1px solid rgba(9, 32, 67, .1);
  background: #fff;
}

.public-nav__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.public-nav__link {
  display: flex;
  align-items: center;
  min-height: 3.5rem;
  padding: .85rem 1rem;
  border: 0;
  color: #101827;
  background: transparent;
  font-weight: 800;
  text-decoration: none;
}

.public-nav__link:hover,
.public-nav__link:focus {
  color: var(--cms-primary);
  background: rgba(var(--cms-primary-rgb), .07);
}

.public-nav .dropdown:hover > .dropdown-menu,
.public-nav .dropdown:focus-within > .dropdown-menu {
  display: block;
  margin-top: 0;
}

.public-nav .dropdown-menu {
  min-width: 16rem;
  padding: .5rem;
  border: 1px solid rgba(9, 32, 67, .12);
  border-radius: 0;
  box-shadow: 0 1rem 2rem rgba(9, 32, 67, .12);
}

.public-nav .dropdown-item {
  padding: .65rem .75rem;
  color: #101827;
  font-weight: 700;
}

.public-nav .dropdown-item:hover,
.public-nav .dropdown-item:focus {
  color: var(--cms-primary);
  background: rgba(var(--cms-primary-rgb), .07);
}

.public-main {
  min-height: 54vh;
}

.public-hero {
  background:
    linear-gradient(120deg, rgba(9, 32, 67, .96), rgba(9, 32, 67, .84)),
    url("/assets/pulse_logo_curves-5286c5c5.svg") right 8% center / min(42rem, 70vw) no-repeat;
  color: #fff;
}

.public-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: end;
  min-height: 24rem;
  padding-block: 4rem;
}

.public-hero__content {
  max-width: 46rem;
}

.public-kicker {
  margin-bottom: .55rem;
  color: var(--cms-primary);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.public-hero .public-kicker {
  color: rgba(255, 255, 255, .78);
}

.public-hero h1 {
  margin: 0;
  max-width: 44rem;
  font-size: clamp(2.4rem, 6vw, 4.75rem);
  font-weight: 900;
  line-height: .98;
  letter-spacing: 0;
}

.public-hero__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .75rem;
}

.public-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: .75rem 1rem;
  font-weight: 900;
  text-decoration: none;
}

.public-button--light {
  color: var(--cms-primary);
  background: #fff;
}

.public-button--outline-light {
  border: 1px solid rgba(255, 255, 255, .65);
  color: #fff;
}

.public-home {
  display: grid;
  gap: 2rem;
  padding-block: 2.5rem 4rem;
}

.public-home__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}

.public-section {
  padding: 2rem;
  border-top: .25rem solid var(--cms-primary);
  background: #fff;
  box-shadow: 0 .75rem 2rem rgba(9, 32, 67, .06);
}

.public-section__header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.public-section h2 {
  margin: 0;
  color: #101827;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 900;
}

.public-more-link {
  flex: 0 0 auto;
  color: var(--cms-primary);
  font-weight: 900;
  text-decoration: none;
}

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

.public-news-card {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  border: 1px solid rgba(9, 32, 67, .12);
  background: #fff;
}

.public-news-card__image {
  width: 100%;
  height: 12rem;
  object-fit: cover;
}

.public-news-card__image--placeholder {
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, .74);
  background: var(--cms-primary);
  font-weight: 900;
}

.public-news-card__body {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  padding: 1.25rem;
}

.public-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-bottom: .75rem;
  color: #667085;
  font-size: .9rem;
  font-weight: 700;
}

.public-news-card h3 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 900;
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.public-news-card h3 a,
.public-list__item,
.public-page-link {
  color: #101827;
  text-decoration: none;
}

.public-news-card h3 a:hover,
.public-list__item:hover,
.public-page-link:hover {
  color: var(--cms-primary);
}

.public-news-card p {
  margin: .75rem 0 0;
  color: #667085;
  overflow-wrap: anywhere;
}

.public-list {
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(9, 32, 67, .12);
}

.public-list__item {
  display: grid;
  min-width: 0;
  gap: .35rem;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(9, 32, 67, .12);
}

.public-list__title {
  font-weight: 900;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.public-list__meta {
  color: #667085;
  font-size: .92rem;
  font-weight: 700;
}

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

.public-page-link {
  min-height: 5.5rem;
  padding: 1rem;
  border: 1px solid rgba(9, 32, 67, .12);
  background: #f8fafc;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.public-empty {
  padding: 2rem;
  border: 1px dashed rgba(9, 32, 67, .25);
  border-radius: .75rem;
  color: #667085;
  background: #f8fafc;
  font-weight: 800;
  text-align: center;
}

.public-site .card {
  border: 1px solid rgba(9, 32, 67, .1);
  border-radius: .75rem;
  background: rgba(255, 255, 255, .92);
}

.public-site .card.border-0.shadow-sm,
.public-site .shadow-sm {
  box-shadow: 0 1rem 2.5rem rgba(9, 32, 67, .07) !important;
}

.public-site .btn {
  border-radius: 999px;
  font-weight: 800;
}

.public-site .form-control,
.public-site .form-select {
  border-color: rgba(9, 32, 67, .16);
  border-radius: .75rem;
  min-height: 3rem;
}

.public-site .form-control:focus,
.public-site .form-select:focus {
  border-color: rgba(var(--cms-primary-rgb), .45);
  box-shadow: 0 0 0 .2rem rgba(var(--cms-primary-rgb), .1);
}

.public-site .table {
  --bs-table-bg: transparent;
  --bs-table-hover-bg: rgba(var(--cms-primary-rgb), .035);
  margin-bottom: 0;
}

.public-site .table-light {
  --bs-table-bg: #f8fafc;
  --bs-table-color: #667085;
}

.public-site .table th {
  color: #667085;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.public-site .table td {
  color: #101827;
}

.public-site .badge.text-bg-primary,
.public-status-pill {
  border: 1px solid rgba(var(--cms-primary-rgb), .18);
  color: var(--cms-primary) !important;
  background: rgba(var(--cms-primary-rgb), .1) !important;
}

.public-account-layout {
  width: 100%;
}

.public-account-content {
  flex: 0 1 60rem;
  width: min(100%, 60rem);
  max-width: 60rem;
  min-width: 0;
}

.public-account-sidebar {
  flex: 0 0 16rem;
  width: 16rem;
}

.public-content-with-sidebar,
.public-article-layout {
  display: grid;
  grid-template-columns: minmax(13rem, 17rem) minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}

.public-article-sidebar {
  position: sticky;
  top: 11.5rem;
  min-width: 0;
}

.public-content-sidebar,
.public-filter-panel,
.public-side-panel,
.public-article-main,
.public-article-hero {
  border: 1px solid rgba(9, 32, 67, .1);
  border-radius: .75rem;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 1rem 2.5rem rgba(9, 32, 67, .07);
}

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

.public-content-sidebar > .eyebrow {
  color: #667085;
}

.public-sidebar-nav {
  display: grid;
  gap: .35rem;
}

.public-sidebar-nav__link,
.public-sidebar-nav__link:visited {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  min-height: 3rem;
  padding: .75rem .85rem;
  border-radius: .75rem;
  color: #101827;
  font-weight: 700;
  text-decoration: none;
}

.public-sidebar-nav__link:hover,
.public-sidebar-nav__link:focus {
  color: #101827;
  background: #f8fafc;
  text-decoration: none;
}

.public-sidebar-nav__link.is-active,
.public-sidebar-nav__link.is-active:visited,
.public-sidebar-nav__link.is-active:hover,
.public-sidebar-nav__link.is-active:focus {
  color: var(--cms-primary);
  background: rgba(var(--cms-primary-rgb), .1);
  text-decoration: none;
}

.public-sidebar-nav__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.8rem;
  height: 1.8rem;
  padding-inline: .45rem;
  border: 1px solid rgba(9, 32, 67, .12);
  border-radius: 999px;
  background: #fff;
  color: var(--cms-primary);
  font-size: .82rem;
  font-weight: 900;
}

.public-sidebar-nav__link.is-active .public-sidebar-nav__count {
  border-color: rgba(255, 255, 255, .35);
  color: var(--cms-primary);
}

.public-content-main {
  min-width: 0;
}

.public-filter-panel {
  padding: 1.5rem;
}

.public-publication-list {
  display: grid;
  gap: 1rem;
}

.public-publication-card {
  display: grid;
  grid-template-columns: minmax(13rem, 18rem) minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(9, 32, 67, .1);
  border-radius: .75rem;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 1rem 2.5rem rgba(9, 32, 67, .07);
}

.public-publication-card__media {
  min-height: 13rem;
  background: rgba(var(--cms-primary-rgb), .08);
}

.public-publication-card__media img,
.public-article__cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.public-publication-card__placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  color: #fff;
  background: var(--cms-primary);
  font-size: 1.35rem;
  font-weight: 900;
}

.public-publication-card__body {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 1.5rem;
}

.public-publication-card__meta,
.public-article__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  align-items: center;
  color: #667085;
  font-size: .88rem;
  font-weight: 800;
}

.public-publication-card__meta a,
.public-publication-card__meta a:visited,
.public-article__meta a,
.public-article__meta a:visited {
  color: var(--cms-primary);
  text-decoration: none;
}

.public-publication-card h2 {
  margin: .65rem 0 0;
  font-size: clamp(1.35rem, 2vw, 1.85rem);
  font-weight: 900;
  line-height: 1.15;
}

.public-publication-card h2 a,
.public-publication-card h2 a:visited {
  color: #101827;
  text-decoration: none;
}

.public-publication-card h2 a:hover,
.public-publication-card h2 a:focus {
  color: var(--cms-primary);
}

.public-publication-card p {
  margin: .85rem 0 0;
  color: #667085;
  font-size: 1rem;
}

.public-inline-action,
.public-inline-action:visited {
  align-self: flex-start;
  margin-top: 1.1rem;
  color: var(--cms-primary);
  font-weight: 900;
  text-decoration: none;
}

.public-inline-action:hover,
.public-inline-action:focus {
  color: #101827;
}

.public-empty-state {
  padding: 2rem;
  border: 1px dashed rgba(9, 32, 67, .2);
  border-radius: .75rem;
  background: rgba(255, 255, 255, .78);
  text-align: center;
}

.public-empty-state--roomy {
  padding: 3rem 2rem;
}

.public-empty-state h2 {
  margin: 0 0 .5rem;
  color: #101827;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 900;
}

.public-empty-state p {
  color: #667085;
}

.public-article {
  display: grid;
  gap: 1.5rem;
}

.public-article-hero {
  padding: clamp(2rem, 5vw, 4rem);
}

.public-article-hero__content {
  max-width: 58rem;
}

.public-article__title {
  max-width: 56rem;
  margin: .85rem 0 0;
  color: #101827;
  font-size: clamp(2.25rem, 6vw, 4.75rem);
  font-weight: 900;
  line-height: 1;
  overflow-wrap: anywhere;
}

.public-article__lead {
  max-width: 48rem;
  margin: 1.2rem 0 0;
  color: #4b5563;
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  line-height: 1.55;
}

.public-article-layout {
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
}

.public-article-main {
  min-width: 0;
  padding: clamp(1.25rem, 3vw, 2rem);
}

.public-article__cover {
  aspect-ratio: 16 / 9;
  margin: 0 0 2rem;
  overflow: hidden;
  background: rgba(var(--cms-primary-rgb), .08);
}

.public-article__body {
  max-width: 48rem;
  margin-inline: auto;
  color: #101827;
  font-size: 1.08rem;
}

.public-article-sidebar {
  display: grid;
  gap: 1rem;
}

.public-side-panel {
  padding: 1.25rem;
}

.public-side-list {
  display: grid;
  gap: .75rem;
}

.public-side-list__item,
.public-side-list__item:visited,
.public-related-card,
.public-related-card:visited {
  display: grid;
  gap: .35rem;
  padding: .9rem 0;
  border-top: 1px solid rgba(9, 32, 67, .1);
  color: #101827;
  text-decoration: none;
}

.public-side-list__item:first-child {
  border-top: 0;
}

.public-side-list__item span,
.public-related-card span {
  color: #667085;
  font-size: .82rem;
  font-weight: 800;
}

.public-side-list__item strong,
.public-related-card strong {
  line-height: 1.25;
}

.public-side-list__item:hover,
.public-side-list__item:focus,
.public-related-card:hover,
.public-related-card:focus {
  color: var(--cms-primary);
}

.public-related-section {
  max-width: 56rem;
  margin: 2.5rem auto 0;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(9, 32, 67, .1);
}

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

.public-related-card {
  padding: 1rem;
  border: 1px solid rgba(9, 32, 67, .1);
  background: #f8fafc;
}

.public-appeal-form-layout,
.public-appeal-layout {
  display: grid;
  grid-template-columns: minmax(13rem, 18rem) minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}

.public-appeal-layout {
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 24rem);
}

.public-appeal-guide,
.public-appeal-sidebar {
  position: sticky;
  top: 11.5rem;
  min-width: 0;
}

.public-appeal-form-panel,
.public-appeal-summary,
.public-document-panel,
.public-account-panel {
  border: 1px solid rgba(9, 32, 67, .1);
  background: #fff;
  box-shadow: 0 .75rem 2rem rgba(9, 32, 67, .06);
}

.public-appeal-form-panel {
  min-width: 0;
  padding: clamp(1.25rem, 3vw, 2rem);
}

.public-step-list {
  display: grid;
  gap: 1rem;
}

.public-step-list div {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  column-gap: .75rem;
}

.public-step-list span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  color: #fff;
  background: var(--cms-primary);
  font-weight: 900;
}

.public-step-list strong {
  color: #101827;
}

.public-step-list p {
  grid-column: 2;
  margin: .15rem 0 0;
  color: #667085;
  font-size: .92rem;
}

.public-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.public-choice-card {
  display: flex;
  gap: .8rem;
  min-width: 0;
  padding: 1rem;
  border: 1px solid rgba(9, 32, 67, .12);
  background: #f8fafc;
  cursor: pointer;
}

.public-choice-card:has(input:checked) {
  border-color: rgba(var(--cms-primary-rgb), .45);
  background: rgba(var(--cms-primary-rgb), .07);
}

.public-choice-card strong,
.public-choice-card small {
  display: block;
}

.public-choice-card small {
  margin-top: .2rem;
  color: #667085;
}

.public-appeal-main {
  display: grid;
  min-width: 0;
  gap: 1rem;
}

.public-appeal-summary,
.public-document-panel {
  padding: clamp(1.25rem, 3vw, 2rem);
}

.public-request-list {
  display: grid;
  gap: .75rem;
  margin: 0;
  padding-left: 1.4rem;
}

.public-request-list li {
  padding-left: .25rem;
}

.public-file-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.public-file-card,
.public-file-card:visited {
  display: grid;
  gap: .25rem;
  min-width: 0;
  padding: .9rem 1rem;
  border: 1px solid rgba(9, 32, 67, .12);
  color: #101827;
  background: #f8fafc;
  text-decoration: none;
}

.public-file-card:hover,
.public-file-card:focus {
  border-color: rgba(var(--cms-primary-rgb), .45);
  color: var(--cms-primary);
}

.public-file-card strong {
  overflow-wrap: anywhere;
}

.public-file-card span {
  color: #667085;
  font-size: .85rem;
  font-weight: 800;
}

.public-status-pill--small {
  min-height: 1.9rem;
  padding: .35rem .65rem;
  font-size: .78rem;
}

.public-mini-empty {
  display: grid;
  gap: .25rem;
  padding: 1rem;
  border: 1px dashed rgba(9, 32, 67, .2);
  background: #f8fafc;
}

.public-mini-empty span {
  color: #667085;
}

.public-consultations-index-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(14rem, 22rem);
  gap: 1.5rem;
  align-items: end;
  margin-bottom: 1.5rem;
  padding: clamp(1.5rem, 4vw, 2.75rem);
  border: 1px solid rgba(9, 32, 67, .1);
  border-radius: 1rem;
  background:
    linear-gradient(135deg, rgba(var(--cms-primary-rgb), .1), rgba(255, 255, 255, .95) 52%),
    #fff;
  box-shadow: 0 1rem 2.5rem rgba(9, 32, 67, .07);
}

.public-consultations-index-hero h1 {
  max-width: 58rem;
  margin: 0;
  color: #101827;
  font-size: clamp(2.25rem, 5vw, 4.75rem);
  font-weight: 950;
  line-height: 1;
}

.public-consultations-index-hero p:not(.eyebrow) {
  max-width: 42rem;
  margin: 1rem 0 0;
  color: #4b5563;
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  line-height: 1.55;
}

.public-consultations-index-hero__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.public-consultations-index-hero__stats div {
  min-width: 0;
  padding: 1rem;
  border: 1px solid rgba(9, 32, 67, .1);
  border-radius: .9rem;
  background: rgba(255, 255, 255, .82);
}

.public-consultations-index-hero__stats strong,
.public-consultations-index-hero__stats span {
  display: block;
}

.public-consultations-index-hero__stats strong {
  color: var(--cms-primary);
  font-size: 2rem;
  font-weight: 950;
  line-height: 1;
}

.public-consultations-index-hero__stats span {
  margin-top: .35rem;
  color: #667085;
  font-size: .85rem;
  font-weight: 900;
}

.public-consultations-filter {
  margin-bottom: 1.5rem;
  padding: 1.1rem;
  border: 1px solid rgba(9, 32, 67, .1);
  border-radius: 1rem;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 .85rem 2rem rgba(9, 32, 67, .06);
}

.public-consultations-filter__form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(12rem, 18rem) auto;
  gap: .9rem;
  align-items: end;
}

.public-consultations-filter__field {
  min-width: 0;
}

.public-consultations-filter__actions {
  display: flex;
  gap: .5rem;
  align-items: center;
}

.public-consultations-results {
  display: grid;
  gap: 1rem;
}

.public-consultations-results__header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: end;
  padding-inline: .25rem;
}

.public-consultations-results__header h2 {
  margin: .15rem 0 0;
  color: #101827;
  font-size: clamp(1.45rem, 2.5vw, 2.1rem);
  font-weight: 950;
  line-height: 1.1;
}

.public-consultations-results__header > span {
  color: #667085;
  font-weight: 800;
  white-space: nowrap;
}

.public-consultation-index-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(11rem, 15rem);
  gap: 1rem;
  min-width: 0;
  padding: clamp(1.15rem, 3vw, 1.5rem);
  border: 1px solid rgba(9, 32, 67, .1);
  border-radius: 1rem;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 .85rem 2rem rgba(9, 32, 67, .06);
}

.public-consultation-index-card:hover {
  border-color: rgba(var(--cms-primary-rgb), .24);
  box-shadow: 0 1rem 2.35rem rgba(9, 32, 67, .09);
}

.public-consultation-index-card__body {
  min-width: 0;
}

.public-consultation-index-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  align-items: center;
  color: #667085;
  font-size: .88rem;
  font-weight: 800;
}

.public-consultation-index-card h3 {
  margin: .75rem 0 0;
  color: #101827;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  font-weight: 950;
  line-height: 1.12;
}

.public-consultation-index-card h3 a,
.public-consultation-index-card h3 a:visited {
  color: inherit;
  text-decoration: none;
}

.public-consultation-index-card h3 a:hover,
.public-consultation-index-card h3 a:focus {
  color: var(--cms-primary);
}

.public-consultation-index-card p {
  margin: .75rem 0 0;
  color: #4b5563;
  line-height: 1.6;
}

.public-consultation-index-card__aside {
  display: grid;
  gap: .6rem;
  align-content: center;
  min-width: 0;
}

.public-consultation-index-card__aside div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .75rem .85rem;
  border-radius: .75rem;
  background: #f8fafc;
}

.public-consultation-index-card__aside strong {
  color: var(--cms-primary);
  font-weight: 950;
}

.public-consultation-index-card__aside span {
  color: #667085;
  font-size: .88rem;
  font-weight: 800;
}

.public-consultation-hero {
  margin-bottom: 1.5rem;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid rgba(9, 32, 67, .1);
  border-radius: 1rem;
  background:
    linear-gradient(135deg, rgba(var(--cms-primary-rgb), .1), rgba(255, 255, 255, .94) 46%),
    #fff;
  box-shadow: 0 1rem 2.5rem rgba(9, 32, 67, .07);
}

.public-consultation-hero__content {
  max-width: 58rem;
}

.public-consultation-hero h1 {
  margin: 0;
  color: #101827;
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: 900;
  line-height: 1.05;
}

.public-consultation-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  align-items: center;
  margin-top: 1rem;
  color: #667085;
  font-weight: 800;
}

.public-consultation-meta > span:not(.public-status-pill) {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
}

.public-consultation-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 24rem);
  gap: 1.5rem;
  align-items: start;
}

.public-consultation-main {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.public-consultation-sidebar {
  position: sticky;
  top: 11.5rem;
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.public-consultation-panel,
.public-consultation-side-card,
.public-consultation-summary {
  border: 1px solid rgba(9, 32, 67, .1);
  border-radius: 1rem;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 .85rem 2rem rgba(9, 32, 67, .06);
}

.public-consultation-panel,
.public-consultation-summary {
  padding: clamp(1.25rem, 3vw, 2rem);
}

.public-consultation-panel--lead {
  background: #fff;
}

.public-consultation-panel--comment {
  border-color: rgba(var(--cms-primary-rgb), .18);
}

.public-consultation-summary {
  border-color: rgba(var(--cms-primary-rgb), .22);
  background:
    linear-gradient(135deg, rgba(var(--cms-primary-rgb), .08), rgba(255, 255, 255, .96) 56%),
    #fff;
}

.public-consultation-section-title {
  margin-bottom: 1rem;
}

.public-consultation-section-title h2 {
  margin: .15rem 0 0;
  color: #101827;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  font-weight: 900;
  line-height: 1.15;
}

.public-consultation-section-title--row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: end;
}

.public-consultation-section-title--row > span {
  color: #667085;
  font-size: .9rem;
  font-weight: 900;
  white-space: nowrap;
}

.public-consultation-comments {
  display: grid;
  gap: .85rem;
}

.public-consultation-comment {
  padding: 1rem;
  border: 1px solid rgba(9, 32, 67, .1);
  border-radius: .85rem;
  background: #f8fafc;
}

.public-consultation-comment__header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .75rem;
}

.public-consultation-comment__header strong {
  min-width: 0;
  color: #101827;
  overflow-wrap: anywhere;
}

.public-consultation-comment__header span {
  flex: 0 0 auto;
  color: #667085;
  font-size: .86rem;
  font-weight: 800;
}

.public-consultation-side-card {
  padding: 1.1rem;
}

.public-consultation-side-card--accent {
  border-color: rgba(var(--cms-primary-rgb), .2);
  background:
    linear-gradient(135deg, rgba(var(--cms-primary-rgb), .1), rgba(255, 255, 255, .98)),
    #fff;
}

.public-consultation-support-count {
  color: var(--cms-primary);
  font-size: 3rem;
  font-weight: 950;
  line-height: 1;
}

.public-consultation-side-card--accent p:not(.eyebrow) {
  margin: .25rem 0 1rem;
  color: #667085;
  font-weight: 800;
}

.public-consultation-facts {
  display: grid;
  gap: .75rem;
  margin: 0;
}

.public-consultation-facts div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid rgba(9, 32, 67, .09);
}

.public-consultation-facts div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.public-consultation-facts dt {
  color: #667085;
  font-weight: 800;
}

.public-consultation-facts dd {
  margin: 0;
  color: #101827;
  font-weight: 900;
  text-align: right;
}

.public-consultation-file-list {
  display: grid;
  gap: .6rem;
}

.public-consultation-file,
.public-consultation-file:visited {
  display: grid;
  gap: .2rem;
  min-width: 0;
  padding: .85rem .95rem;
  border: 1px solid rgba(9, 32, 67, .1);
  border-radius: .75rem;
  color: #101827;
  background: #f8fafc;
  text-decoration: none;
}

.public-consultation-file:hover,
.public-consultation-file:focus {
  border-color: rgba(var(--cms-primary-rgb), .45);
  color: var(--cms-primary);
  text-decoration: none;
}

.public-consultation-file strong {
  overflow-wrap: anywhere;
}

.public-consultation-file span {
  color: #667085;
  font-size: .85rem;
  font-weight: 800;
}

.public-account-panel {
  padding: 1rem;
}

.public-account-appeals-list {
  display: grid;
  gap: .85rem;
}

.public-account-appeal-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid rgba(9, 32, 67, .1);
  background: #fff;
}

.public-account-appeal-card.is-due-soon {
  border-color: rgba(245, 158, 11, .35);
  background: rgba(245, 158, 11, .08);
}

.public-account-appeal-card.is-overdue {
  border-color: rgba(220, 38, 38, .3);
  background: rgba(220, 38, 38, .06);
}

.public-account-appeal-card__meta,
.public-account-appeal-card__footer {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  align-items: center;
  color: #667085;
  font-size: .86rem;
  font-weight: 800;
}

.public-account-appeal-card h2 {
  margin: .35rem 0 .65rem;
  color: #101827;
  font-size: 1.12rem;
  font-weight: 900;
  line-height: 1.25;
}

.two-factor-qr__frame {
  display: inline-flex;
  max-width: 100%;
  padding: 1rem;
  border: 1px solid rgba(9, 32, 67, .12);
  border-radius: .5rem;
  background: #fff;
}

.two-factor-qr__image {
  display: block;
  width: min(100%, 20rem);
  height: auto;
}

.public-footer {
  margin-top: 2rem;
  background: var(--cms-primary);
  color: rgba(255, 255, 255, .74);
}

.public-footer__inner {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  padding-block: 2rem;
}

.public-footer__logo {
  width: 10rem;
  height: auto;
  filter: none;
}

.public-footer__logo .st0 {
  display: none;
}

.public-footer__links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-content: start;
}

.public-footer__links a {
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}

@media (max-width: 992px) {
  .public-account-sidebar,
  .public-account-content {
    width: 100%;
  }

  .public-account-content {
    flex-basis: auto;
    max-width: none;
  }

  .public-content-with-sidebar,
  .public-article-layout,
  .public-consultation-layout,
  .public-consultations-index-hero,
  .public-consultations-filter__form,
  .public-consultation-index-card,
  .public-appeal-form-layout,
  .public-appeal-layout {
    grid-template-columns: 1fr;
  }

  .public-content-sidebar,
  .public-article-sidebar,
  .public-consultation-sidebar,
  .public-appeal-guide,
  .public-appeal-sidebar {
    position: static;
  }

  .public-sidebar-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .public-publication-card {
    grid-template-columns: 1fr;
  }

  .public-publication-card__media {
    aspect-ratio: 16 / 9;
    min-height: auto;
  }

  .public-related-grid {
    grid-template-columns: 1fr;
  }

  .public-choice-grid,
  .public-file-grid {
    grid-template-columns: 1fr;
  }

  .public-menu-button {
    display: inline-flex;
  }

  .public-nav__list {
    display: grid;
    padding-block: .5rem;
  }

  .public-nav__link {
    min-height: auto;
    padding: .8rem 0;
  }

  .public-hero__inner,
  .public-home__columns,
  .public-news-grid,
  .public-page-links {
    grid-template-columns: 1fr;
  }

  .public-hero__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 576px) {
  .public-container {
    width: min(100% - 1.25rem, 1180px);
  }

  .public-header__top-inner,
  .public-footer__inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .public-header__main {
    min-height: 5rem;
  }

  .public-section {
    padding: 1.25rem;
  }

  .public-filter-panel,
  .public-content-sidebar,
  .public-article-main,
  .public-article-hero,
  .public-side-panel {
    padding: 1.1rem;
  }

  .public-sidebar-nav {
    grid-template-columns: 1fr;
  }

  .public-account-appeal-card {
    align-items: stretch;
    flex-direction: column;
  }

  .public-section__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .public-consultations-results__header,
  .public-consultation-index-card__aside div {
    align-items: flex-start;
    flex-direction: column;
  }

  .public-consultations-filter__actions {
    align-items: stretch;
    flex-direction: column;
  }
}

a.btn.btn-primary,
a.btn.btn-primary:visited,
a.btn.btn-primary:hover,
a.btn.btn-primary:focus,
a.btn.btn-primary:active,
button.btn.btn-primary,
button.btn.btn-primary:hover,
button.btn.btn-primary:focus,
button.btn.btn-primary:active,
input.btn.btn-primary,
input.btn.btn-primary:hover,
input.btn.btn-primary:focus,
input.btn.btn-primary:active {
  color: #fff !important;
  background-color: var(--cms-primary) !important;
  border-color: var(--cms-primary) !important;
}

a.btn.btn-primary:hover,
a.btn.btn-primary:focus,
button.btn.btn-primary:hover,
button.btn.btn-primary:focus,
input.btn.btn-primary:hover,
input.btn.btn-primary:focus {
  filter: brightness(.92);
}

a.btn.btn-outline-primary:hover,
a.btn.btn-outline-primary:focus,
a.btn.btn-outline-primary:active,
button.btn.btn-outline-primary:hover,
button.btn.btn-outline-primary:focus,
button.btn.btn-outline-primary:active,
input.btn.btn-outline-primary:hover,
input.btn.btn-outline-primary:focus,
input.btn.btn-outline-primary:active {
  color: #fff !important;
}

.id-gov-ua-button {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 3.35rem;
  padding-block: .65rem;
}

.id-gov-ua-button__logo {
  display: block;
  height: auto;
  max-height: 2rem;
  max-width: min(100%, 13.75rem);
  width: auto;
}

.id-gov-ua-button--on-color .id-gov-ua-button__logo,
.id-gov-ua-button--on-white:hover .id-gov-ua-button__logo,
.id-gov-ua-button--on-white:focus .id-gov-ua-button__logo,
.id-gov-ua-button--on-white:active .id-gov-ua-button__logo {
  filter: brightness(0) invert(1);
}

.pulse-id-button__mark {
  align-items: center;
  color: #fff;
  display: inline-flex;
  gap: .75rem;
  justify-content: center;
}

.pulse-id-button__logo {
  color: #fff;
  display: block;
  height: 2rem;
  width: auto;
  --pulse-logo-signal: #fff;
}

.pulse-id-button__id {
  color: #fff;
  font-size: 1.35rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
}

/* Public v1 final overrides */
.public-site {
  --public-ink: #071426;
  --public-muted: #5d6978;
  --public-line: rgba(7, 20, 38, .11);
  --public-line-strong: rgba(7, 20, 38, .18);
  --public-panel: rgba(255, 255, 255, .92);
  --public-panel-solid: #fff;
  --public-primary-soft: rgba(var(--cms-primary-rgb), .09);
  --public-primary-line: rgba(var(--cms-primary-rgb), .24);
  --public-radius: 1.05rem;
  --public-shadow: 0 1.4rem 3.5rem rgba(7, 20, 38, .09);
  --public-shadow-soft: 0 .85rem 2rem rgba(7, 20, 38, .065);
  --public-focus: 0 0 0 .22rem rgba(var(--cms-primary-rgb), .16);
  background:
    linear-gradient(rgba(9, 32, 67, .032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(9, 32, 67, .032) 1px, transparent 1px),
    linear-gradient(115deg, rgba(255, 255, 255, .78) 0 31%, rgba(var(--cms-primary-rgb), .055) 31% 55%, rgba(255, 255, 255, .48) 55% 100%),
    #edf4f6;
  background-attachment: fixed;
  background-size: 64px 64px, 64px 64px, auto, auto;
  color: var(--public-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

.public-header {
  border-bottom: 1px solid var(--public-line);
  background: rgba(255, 255, 255, .86);
  backdrop-filter: blur(18px);
  box-shadow: 0 .85rem 2rem rgba(7, 20, 38, .07);
}

.public-header__top {
  background: linear-gradient(90deg, color-mix(in srgb, var(--cms-primary) 84%, #000 16%), var(--cms-primary));
}

.public-nav {
  border-top: 1px solid rgba(7, 20, 38, .08);
  background: rgba(255, 255, 255, .7);
}

.public-nav__list {
  flex-wrap: nowrap;
}

.public-nav__item {
  flex: 0 0 auto;
}

.public-nav__link,
.public-nav__link:visited {
  min-height: 3.05rem;
  padding: .72rem .92rem;
  border-radius: .9rem;
  color: var(--public-ink) !important;
  font-weight: 850;
}

.public-nav__link:hover,
.public-nav__link:focus {
  color: var(--cms-primary) !important;
  background: var(--public-primary-soft);
  text-decoration: none;
}

.public-nav .dropdown-menu {
  min-width: 17rem;
  padding: .55rem;
  border: 1px solid var(--public-line);
  border-radius: 1rem;
  background: rgba(255, 255, 255, .96);
  box-shadow: var(--public-shadow);
}

.public-nav .dropdown-item {
  border-radius: .7rem;
  color: var(--public-ink);
  font-weight: 750;
}

.public-nav .dropdown-item:hover,
.public-nav .dropdown-item:focus {
  color: var(--cms-primary);
  background: var(--public-primary-soft);
}

.public-nav__search form {
  position: relative;
}

.public-nav__search-input {
  width: clamp(13rem, 24vw, 22rem);
  min-height: 2.75rem;
  padding-right: 3rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, .78);
}

.public-nav__search-button {
  position: absolute;
  top: 50%;
  right: .28rem;
  width: 2.25rem;
  min-height: 2.25rem;
  border: 1px solid rgba(7, 20, 38, .12);
  border-radius: 999px;
  color: var(--cms-primary);
  background: rgba(255, 255, 255, .78);
  transform: translateY(-50%);
}

.public-nav__search-button:hover,
.public-nav__search-button:focus {
  border-color: rgba(var(--cms-primary-rgb), .35);
  color: var(--cms-primary);
  background: #fff;
  box-shadow: var(--public-focus);
}

.public-main {
  padding-block: clamp(1.25rem, 3vw, 2rem) clamp(2.5rem, 6vw, 5rem) !important;
}

.public-container {
  width: min(100% - clamp(1rem, 4vw, 3rem), 1260px);
}

.public-site .btn-primary,
.public-site .btn-primary:visited {
  border-color: var(--cms-primary);
  color: #fff !important;
  background: var(--cms-primary);
  box-shadow: 0 .9rem 1.85rem rgba(var(--cms-primary-rgb), .2);
}

.public-site .btn-primary:hover,
.public-site .btn-primary:focus {
  border-color: var(--cms-primary);
  color: #fff !important;
  background: color-mix(in srgb, var(--cms-primary) 92%, #000 8%);
  box-shadow: 0 1rem 2.2rem rgba(var(--cms-primary-rgb), .24);
  transform: translateY(-1px);
}

.public-site .btn-outline-primary,
.public-site .btn-outline-primary:visited {
  border-color: var(--public-primary-line);
  color: var(--cms-primary) !important;
  background: rgba(255, 255, 255, .72);
}

.public-site .btn-outline-primary:hover,
.public-site .btn-outline-primary:focus {
  border-color: var(--cms-primary);
  color: #fff !important;
  background: var(--cms-primary);
  box-shadow: 0 .85rem 1.8rem rgba(var(--cms-primary-rgb), .18);
  transform: translateY(-1px);
}

.public-site .form-control,
.public-site .form-select {
  min-height: 3.1rem;
  border: 1px solid var(--public-line-strong);
  border-radius: .88rem;
  color: var(--public-ink);
  background-color: rgba(255, 255, 255, .92);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75);
}

.public-site .form-control:focus,
.public-site .form-select:focus {
  border-color: rgba(var(--cms-primary-rgb), .42);
  box-shadow: var(--public-focus);
}

.public-hero,
.public-page-hero,
.public-page-title,
.public-article-hero,
.public-consultation-hero,
.public-consultations-index-hero {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--public-line);
  border-radius: 1.35rem;
  background:
    linear-gradient(125deg, rgba(255, 255, 255, .96) 0 46%, rgba(var(--cms-primary-rgb), .08) 46% 100%),
    #fff;
  box-shadow: var(--public-shadow);
}

.public-hero::after,
.public-page-hero::after,
.public-page-title::after,
.public-article-hero::after,
.public-consultation-hero::after,
.public-consultations-index-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: .38rem;
  background: linear-gradient(90deg, var(--cms-primary), color-mix(in srgb, var(--cms-primary) 45%, #fff 55%));
}

.public-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(20rem, .88fr);
  gap: clamp(1.5rem, 4vw, 3.25rem);
  align-items: center;
  min-height: clamp(28rem, 58vh, 42rem);
  padding: clamp(1.6rem, 5vw, 4.2rem);
}

.public-hero__title {
  max-width: 9.5em;
  color: var(--public-ink);
  font-size: clamp(3.1rem, 8.3vw, 6.8rem);
  font-weight: 950;
  line-height: .92;
}

.public-hero__lead {
  max-width: 42rem;
  color: var(--public-muted) !important;
  font-size: clamp(1.05rem, 1.65vw, 1.22rem);
  line-height: 1.62;
}

.public-page-hero,
.public-page-title,
.public-article-hero,
.public-consultation-hero,
.public-consultations-index-hero {
  margin-bottom: 1.5rem;
  padding: clamp(1.35rem, 4vw, 2.7rem);
}

.public-page-hero__title,
.public-page-title h1,
.public-article__title,
.public-consultation-hero__title,
.public-consultations-index-hero__title {
  color: var(--public-ink);
  font-size: clamp(2.1rem, 5vw, 4.4rem);
  font-weight: 950;
  line-height: .98;
  overflow-wrap: anywhere;
}

.public-page-hero__lead,
.public-page-title .lead,
.public-article__lead,
.public-consultation-hero__lead,
.public-consultations-index-hero__lead {
  color: var(--public-muted) !important;
}

.eyebrow,
.public-search-result__label {
  color: color-mix(in srgb, var(--cms-primary) 84%, #064e3b 16%);
  font-size: .76rem;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.public-section,
.public-filter-panel,
.public-search-panel,
.public-search-block,
.public-content-sidebar,
.public-side-panel,
.public-article-main,
.public-document-panel,
.public-appeal-summary,
.public-appeal-form-panel,
.public-account-panel,
.public-publication-card,
.public-record-link,
.public-consultation-index-card,
.public-consultation-panel,
.public-consultation-side-card,
.public-consultation-summary,
.public-site .card {
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius);
  background: var(--public-panel);
  box-shadow: var(--public-shadow-soft);
}

.public-section,
.public-filter-panel,
.public-search-panel,
.public-search-block,
.public-side-panel,
.public-article-main,
.public-document-panel,
.public-appeal-summary,
.public-appeal-form-panel,
.public-account-panel {
  padding: clamp(1.15rem, 3vw, 1.85rem);
}

.public-feature-card,
.public-feature-card:visited,
.public-news-card,
.public-page-link,
.public-page-link:visited {
  display: grid;
  overflow: hidden;
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius);
  color: var(--public-ink);
  background: var(--public-panel-solid);
  box-shadow: var(--public-shadow-soft);
  text-decoration: none;
}

.public-feature-card:hover,
.public-feature-card:focus,
.public-news-card:hover,
.public-page-link:hover,
.public-page-link:focus,
.public-record-link:hover,
.public-record-link:focus {
  border-color: var(--public-primary-line);
  color: var(--cms-primary);
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: var(--public-shadow);
}

.public-feature-card__image,
.public-news-card__image {
  min-height: 12rem;
  background:
    linear-gradient(135deg, rgba(var(--cms-primary-rgb), .14), rgba(255, 255, 255, .84)),
    repeating-linear-gradient(135deg, rgba(7, 20, 38, .045) 0 1px, transparent 1px 12px),
    var(--public-soft);
}

.docs-registry-filter-form {
  grid-template-columns: minmax(14rem, 1.3fr) repeat(3, minmax(11rem, 1fr)) auto;
}

.docs-registry-filter-form--compact {
  grid-template-columns: minmax(14rem, 1.5fr) minmax(12rem, 1fr) auto;
}

.public-site .table {
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
  border-color: transparent;
  border-radius: var(--public-radius);
}

.public-site .table thead th {
  border-bottom: 1px solid var(--public-line);
  color: color-mix(in srgb, var(--cms-primary) 82%, var(--public-ink) 18%);
  background: rgba(248, 250, 252, .96);
  font-size: .76rem;
  font-weight: 950;
  text-transform: uppercase;
}

.public-site .table tbody tr:hover {
  background: var(--public-primary-soft);
}

.docs-registry-public-sidebar,
.public-content-sidebar,
.public-account-sidebar,
.public-consultation-sidebar,
.public-article-sidebar {
  flex: 0 0 min(18rem, 100%);
  width: min(18rem, 100%);
  padding: 1.15rem;
}

.public-sidebar-nav__link,
.public-sidebar-nav__link:visited {
  display: flex;
  justify-content: space-between;
  gap: .8rem;
  align-items: center;
  padding: .9rem .95rem;
  border-radius: .9rem;
  color: var(--public-ink);
  font-weight: 850;
  text-decoration: none;
}

.public-sidebar-nav__link:hover,
.public-sidebar-nav__link:focus {
  color: var(--cms-primary);
  background: var(--public-primary-soft);
  text-decoration: none;
}

.public-sidebar-nav__link.is-active,
.public-sidebar-nav__link.is-active:visited,
.public-sidebar-nav__link.is-active:hover,
.public-sidebar-nav__link.is-active:focus {
  color: #fff;
  background: var(--cms-primary);
}

.public-sidebar-nav__count {
  display: inline-grid;
  min-width: 1.55rem;
  min-height: 1.55rem;
  place-items: center;
  padding-inline: .35rem;
  border-radius: 999px;
  color: var(--cms-primary);
  background: rgba(255, 255, 255, .92);
  font-size: .78rem;
  font-weight: 950;
}

.public-empty-state,
.public-empty,
.public-mini-empty {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px dashed rgba(7, 20, 38, .18);
  border-radius: var(--public-radius);
  color: var(--public-muted);
  background: rgba(255, 255, 255, .7);
  font-weight: 750;
}

.public-footer {
  margin-top: 0;
  border-top: 1px solid var(--public-line);
  color: rgba(255, 255, 255, .86);
  background: linear-gradient(135deg, color-mix(in srgb, var(--cms-primary) 86%, #000 14%), var(--cms-primary));
}

.public-footer__inner {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  align-items: center;
  padding-block: 2rem;
}

.public-footer__logo {
  width: 10rem;
  color: #fff;
}

.public-footer__links a,
.public-footer__links a:visited {
  padding: .6rem .8rem;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
  font-weight: 850;
}

@media (max-width: 992px) {
  .public-hero {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .docs-registry-filter-form,
  .docs-registry-filter-form--compact,
  .public-search-form {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .public-nav__search,
  .public-nav__search form,
  .public-nav__search-input {
    width: 100%;
  }

  .public-hero__metrics {
    grid-template-columns: 1fr;
  }
}

/* Public heading consistency */
.public-page-title h1,
.public-page-title .display-5,
.public-page-title .display-6,
.public-page-hero__title,
.public-article__title,
.public-consultation-hero__title,
.public-consultations-index-hero h1,
.public-consultations-index-hero__title {
  margin: .15rem 0 0;
  color: var(--public-ink);
  font-size: clamp(2.15rem, 4.8vw, 4.25rem);
  font-weight: 950;
  line-height: .98;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.public-page-title .lead,
.public-page-title .text-secondary,
.public-page-hero__lead,
.public-article__lead,
.public-consultation-hero__lead,
.public-consultations-index-hero p:not(.eyebrow),
.public-consultations-index-hero__lead {
  max-width: 48rem;
  color: var(--public-muted) !important;
  font-size: 1.05rem;
  line-height: 1.62;
}

.public-content-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
  gap: 1.5rem;
  align-items: start;
}

.public-content-layout:has(> .public-sidebar:first-child),
.public-content-layout:has(> .public-content-sidebar:first-child),
.public-content-layout:has(> .docs-registry-public-sidebar:first-child) {
  grid-template-columns: minmax(13rem, 18rem) minmax(0, 1fr);
}

.public-document-related .public-content-layout {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.public-sidebar {
  position: sticky;
  top: 9.75rem;
  min-width: 0;
}

.public-side-stack {
  display: grid;
  gap: 1rem;
  align-self: start;
}

.docs-registry-public-sidebar,
.public-sidebar,
.public-article-sidebar,
.public-appeal-guide,
.public-appeal-sidebar,
.public-consultation-sidebar {
  position: static;
  top: auto;
}

.public-panel {
  overflow: hidden;
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius);
  background: var(--public-panel);
  box-shadow: var(--public-shadow-soft);
}

.public-panel__body {
  padding: clamp(1.15rem, 3vw, 1.85rem);
}

.public-panel__header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 1.2rem;
}

.public-panel__title {
  margin: 0;
  color: var(--public-ink);
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  font-weight: 950;
  line-height: 1.15;
}

.public-panel__lead {
  margin: .35rem 0 0;
  color: var(--public-muted);
  line-height: 1.55;
}

.public-budget-stage-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}

.public-budget-stage {
  display: grid;
  gap: .35rem;
  min-width: 0;
  padding: .95rem;
  border: 1px solid var(--public-line);
  border-radius: .85rem;
  background: rgba(255, 255, 255, .68);
}

.public-budget-stage strong {
  color: var(--public-ink);
  font-weight: 900;
}

.public-budget-stage span,
.public-budget-stage em {
  color: var(--public-muted);
  font-size: .88rem;
  font-style: normal;
  line-height: 1.35;
}

.public-budget-stage--current {
  border-color: var(--public-primary);
  background: color-mix(in srgb, var(--public-primary) 10%, white);
  box-shadow: 0 1rem 2rem rgba(9, 32, 67, .08);
}

.public-budget-stage--current em {
  color: var(--public-primary);
  font-weight: 900;
}

.public-record-card {
  display: block;
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--public-line);
  border-radius: .9rem;
  color: var(--public-ink);
  background: rgba(255, 255, 255, .86);
}

.public-record-card + .public-record-card {
  margin-top: .85rem;
}

.public-record-card__title {
  margin: 0;
  color: var(--public-ink);
  font-size: 1.02rem;
  font-weight: 900;
  line-height: 1.35;
}

.public-record-card__meta {
  margin-top: .35rem;
  color: var(--public-muted);
  font-size: .88rem;
}

.public-support-count {
  color: var(--cms-primary);
  font-size: clamp(2.2rem, 5vw, 3.25rem);
  font-weight: 950;
  line-height: 1;
}

.public-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  align-items: center;
}

.public-action-row--end {
  justify-content: flex-end;
}

.public-back-link,
.public-back-link:visited {
  display: inline-flex;
  gap: .45rem;
  align-items: center;
  width: fit-content;
  margin-bottom: .9rem;
  color: var(--cms-primary);
  font-size: .9rem;
  font-weight: 900;
  text-decoration: none;
}

.public-back-link::before {
  content: "←";
  font-weight: 950;
}

.public-back-link:hover,
.public-back-link:focus {
  color: color-mix(in srgb, var(--cms-primary) 84%, #000 16%);
  text-decoration: none;
}

.public-form-error,
.public-state {
  padding: 1rem;
  border: 1px solid var(--public-line);
  border-radius: .9rem;
  color: var(--public-ink);
  background: rgba(255, 255, 255, .86);
}

.public-form-error {
  border-color: rgba(190, 18, 60, .24);
  background: rgba(190, 18, 60, .07);
}

.public-form-error strong,
.public-state strong {
  display: block;
  margin-bottom: .35rem;
  font-weight: 950;
}

.public-form-error ul {
  margin-bottom: 0;
  padding-left: 1.2rem;
}

.public-state--info {
  border-color: rgba(var(--cms-primary-rgb), .2);
  background: rgba(var(--cms-primary-rgb), .08);
}

.public-state--success {
  border-color: rgba(5, 150, 105, .24);
  background: rgba(5, 150, 105, .08);
}

.public-guard-card {
  display: grid;
  gap: .85rem;
  padding: 1rem;
  border: 1px solid var(--public-primary-line);
  border-radius: .9rem;
  background: var(--public-primary-soft);
}

.public-guard-card p {
  margin: 0;
  color: var(--public-muted);
  font-weight: 750;
}

.public-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.public-form-grid__full {
  grid-column: 1 / -1;
}

.public-auth-layout {
  display: grid;
  width: min(100%, 34rem);
  margin-inline: auto;
}

.public-auth-layout--wide {
  width: min(100%, 46rem);
}

.public-account-content > .public-page-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: clamp(13.25rem, 23vw, 15.5rem);
}

.public-page-title__row {
  display: flex;
  justify-content: space-between;
  gap: 1.25rem;
  align-items: flex-end;
}

.public-page-title__row > div {
  min-width: 0;
}

.public-page-title__row .btn {
  flex: 0 0 auto;
}

.public-account-content > .public-page-title h1 {
  max-width: 12em;
  font-size: clamp(2.7rem, 5.8vw, 4.25rem);
}

.public-account-layout {
  width: 100%;
}

.public-budget-schema-builder [data-public-budget-form-builder-target="list"] {
  min-height: 1rem;
}

.public-budget-schema-field {
  margin: 0;
  padding: 0;
  border: 1px solid rgba(var(--cms-primary-rgb), .12);
  border-radius: .75rem;
  background: #fff;
  transition: border-color .15s ease, box-shadow .15s ease, opacity .15s ease;
}

.public-budget-schema-field[open] {
  border-color: rgba(var(--cms-primary-rgb), .26);
  box-shadow: 0 .8rem 2rem rgba(9, 32, 67, .08);
}

.public-budget-schema-field.is-dragging {
  opacity: .55;
  border-color: rgba(var(--cms-primary-rgb), .45);
  box-shadow: 0 .8rem 2rem rgba(9, 32, 67, .12);
}

.public-budget-schema-field__summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: .85rem;
  align-items: center;
  min-height: 4.25rem;
  padding: .85rem 1rem;
  cursor: pointer;
  list-style: none;
}

.public-budget-schema-field__summary::-webkit-details-marker {
  display: none;
}

.public-budget-schema-field__summary-main {
  display: grid;
  min-width: 0;
  gap: .18rem;
}

.public-budget-schema-field__title {
  min-width: 0;
  color: #071426;
  font-weight: 900;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.public-budget-schema-field__meta,
.public-budget-schema-field__badges {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: center;
}

.public-budget-schema-field__meta {
  color: var(--bs-secondary-color);
  font-size: .84rem;
  font-weight: 700;
}

.public-budget-schema-field__meta span {
  display: inline-flex;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.public-budget-schema-field__meta span + span::before {
  content: "·";
  margin-right: .4rem;
  color: rgba(100, 116, 139, .75);
}

.public-budget-schema-field__badges {
  justify-content: flex-end;
}

.public-budget-schema-field__chevron {
  display: inline-block;
  width: .65rem;
  height: .65rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  color: var(--cms-primary);
  transform: rotate(45deg);
  transition: transform .15s ease;
}

.public-budget-schema-field[open] .public-budget-schema-field__chevron {
  transform: rotate(225deg) translate(-.12rem, -.12rem);
}

.public-budget-schema-field__body {
  margin: 0;
  padding: 0 1rem 1rem;
  border-top: 1px solid rgba(var(--cms-primary-rgb), .1);
}

.public-budget-schema-field__body > * {
  margin-top: .85rem;
}

.public-budget-schema-field__handle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  min-height: 2.25rem;
  border: 1px solid rgba(var(--cms-primary-rgb), .18);
  border-radius: .5rem;
  color: var(--cms-primary);
  background: rgba(var(--cms-primary-rgb), .06);
  cursor: grab;
  font-weight: 900;
  letter-spacing: -.08em;
}

.public-budget-schema-field__handle:active {
  cursor: grabbing;
}

.public-budget-schema-field__summary .public-budget-schema-field__handle {
  cursor: grab;
}

@media (max-width: 768px) {
  .public-budget-schema-field__summary {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .public-budget-schema-field__badges {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

.public-budget-dynamic-heading {
  padding-top: .5rem;
}

.public-budget-dynamic-heading h3 {
  margin: 0;
  color: var(--public-ink, #101827);
  font-size: 1.2rem;
  font-weight: 900;
}

.public-budget-dynamic-text {
  padding: .85rem 1rem;
  border: 1px solid rgba(var(--cms-primary-rgb), .12);
  border-radius: .75rem;
  color: var(--public-muted, #64748b);
  background: rgba(var(--cms-primary-rgb), .04);
  font-weight: 650;
  line-height: 1.55;
}

.public-budget-dynamic-text p:last-child {
  margin-bottom: 0;
}

.public-account-content,
.public-content-main {
  min-width: 0;
  flex: 1 1 auto;
  width: 100%;
}

@media (min-width: 992px) {
  .public-account-layout {
    flex-wrap: nowrap;
  }

  .public-account-sidebar {
    flex: 0 0 18rem;
    width: 18rem;
  }

  .public-account-content {
    max-width: 62rem;
  }
}

@media (max-width: 768px) {
  .public-content-layout {
    grid-template-columns: 1fr;
  }

  .public-content-layout:has(> .public-sidebar:first-child),
  .public-content-layout:has(> .public-content-sidebar:first-child),
  .public-content-layout:has(> .docs-registry-public-sidebar:first-child),
  .public-document-related .public-content-layout {
    grid-template-columns: 1fr;
  }

  .public-sidebar {
    position: static;
  }

  .public-panel__header {
    flex-direction: column;
  }

  .public-form-grid {
    grid-template-columns: 1fr;
  }

  .public-budget-stage-list {
    grid-template-columns: 1fr;
  }

  .public-document-hero__row {
    grid-template-columns: 1fr;
  }

  .public-document-hero__actions {
    justify-content: flex-start;
    max-width: none;
  }

  .public-page-title__row {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Public redesign system */
.public-site {
  --public-ink: #071426;
  --public-muted: #5f6f82;
  --public-faint: #8492a6;
  --public-surface: rgba(255, 255, 255, .94);
  --public-surface-solid: #fff;
  --public-surface-strong: #f7fafc;
  --public-line: rgba(7, 20, 38, .12);
  --public-line-strong: rgba(7, 20, 38, .2);
  --public-teal: #087f78;
  --public-amber: #b7791f;
  --public-danger: #be123c;
  --public-success: #07884f;
  --public-primary: var(--cms-primary);
  --public-primary-soft: rgba(var(--cms-primary-rgb), .085);
  --public-primary-line: rgba(var(--cms-primary-rgb), .26);
  --public-radius: 1.05rem;
  --public-radius-lg: 1.45rem;
  --public-shadow: 0 1.25rem 3.25rem rgba(7, 20, 38, .095);
  --public-shadow-soft: 0 .75rem 1.85rem rgba(7, 20, 38, .065);
  --public-focus: 0 0 0 .22rem rgba(var(--cms-primary-rgb), .18);
  background:
    linear-gradient(rgba(9, 32, 67, .032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(9, 32, 67, .032) 1px, transparent 1px),
    linear-gradient(118deg, rgba(255, 255, 255, .82) 0 32%, rgba(var(--cms-primary-rgb), .065) 32% 54%, rgba(255, 255, 255, .56) 54% 100%),
    #edf5f7;
  background-attachment: fixed;
  background-size: 64px 64px, 64px 64px, auto, auto;
  color: var(--public-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  text-rendering: optimizeLegibility;
}

.public-main {
  padding-block: clamp(1.25rem, 3vw, 2.25rem) clamp(2.75rem, 7vw, 5rem) !important;
}

.public-container {
  width: min(100% - clamp(1rem, 4vw, 3rem), 1260px);
}

.public-header {
  border-bottom: 1px solid var(--public-line);
  background: rgba(255, 255, 255, .88);
  backdrop-filter: blur(18px);
  box-shadow: 0 .85rem 2rem rgba(7, 20, 38, .07);
}

.public-header__top {
  background: linear-gradient(90deg, color-mix(in srgb, var(--cms-primary) 88%, #000 12%), var(--cms-primary));
}

.public-header .public-accessibility__label {
  color: rgba(255, 255, 255, .9) !important;
}

.public-header__main {
  min-height: 5.35rem;
}

.public-logo .pulse-logo-svg {
  width: min(15.5rem, 56vw);
  max-height: 3.85rem;
}

.public-community-crest {
  height: 3.55rem;
}

.public-nav {
  border-top: 1px solid rgba(7, 20, 38, .08);
  background: rgba(255, 255, 255, .74);
}

.public-nav__list {
  gap: .2rem;
  padding: .5rem 0;
}

.public-nav__link,
.public-nav__link:visited {
  min-height: 3.05rem;
  padding: .72rem .95rem;
  border-radius: .95rem;
  color: var(--public-ink) !important;
  font-weight: 850;
}

.public-nav__link:hover,
.public-nav__link:focus {
  color: var(--cms-primary) !important;
  background: var(--public-primary-soft);
  text-decoration: none;
}

.public-nav .dropdown-menu {
  min-width: 17rem;
  padding: .55rem;
  border: 1px solid var(--public-line);
  border-radius: 1rem;
  background: rgba(255, 255, 255, .98);
  box-shadow: var(--public-shadow);
}

.public-nav .dropdown-item {
  border-radius: .75rem;
  color: var(--public-ink);
  font-weight: 800;
}

.public-nav .dropdown-item:hover,
.public-nav .dropdown-item:focus {
  color: var(--cms-primary);
  background: var(--public-primary-soft);
}

.public-nav__search {
  flex: 1 1 18rem;
  max-width: 22rem;
  min-width: 14rem;
  margin-left: auto;
}

.public-nav__search form {
  position: relative;
  width: 100%;
}

.public-nav__search-input {
  width: 100%;
  min-height: 2.8rem;
  padding-right: 3rem;
  border: 1px solid var(--public-line-strong);
  border-radius: 999px;
  background: rgba(255, 255, 255, .82);
}

.public-nav__search-button {
  position: absolute;
  top: 50%;
  right: .32rem;
  display: inline-grid;
  width: 2.25rem;
  min-height: 2.25rem;
  place-items: center;
  border: 1px solid rgba(7, 20, 38, .12);
  border-radius: 999px;
  color: var(--cms-primary);
  background: rgba(255, 255, 255, .82);
  transform: translateY(-50%);
}

.public-nav__search-button:hover,
.public-nav__search-button:focus {
  border-color: rgba(var(--cms-primary-rgb), .35);
  color: var(--cms-primary);
  background: #fff;
  box-shadow: var(--public-focus);
}

.public-site .btn {
  min-height: 2.8rem;
  border-radius: 999px;
  font-weight: 900;
}

.public-site .btn-sm {
  min-height: 2.25rem;
}

.public-site .btn-lg {
  min-height: 3.15rem;
  padding-inline: 1.35rem;
}

.public-site .btn-primary,
.public-site .btn-primary:visited {
  border-color: var(--cms-primary);
  color: #fff !important;
  background: var(--cms-primary);
  box-shadow: 0 .9rem 1.85rem rgba(var(--cms-primary-rgb), .2);
}

.public-site .btn-primary:hover,
.public-site .btn-primary:focus {
  border-color: color-mix(in srgb, var(--cms-primary) 88%, #000 12%);
  color: #fff !important;
  background: color-mix(in srgb, var(--cms-primary) 90%, #000 10%);
  box-shadow: 0 1rem 2.2rem rgba(var(--cms-primary-rgb), .24);
  transform: translateY(-1px);
}

.public-site .btn-outline-primary,
.public-site .btn-outline-primary:visited {
  border-color: var(--public-primary-line);
  color: var(--cms-primary) !important;
  background: rgba(255, 255, 255, .78);
}

.public-site .btn-outline-primary:hover,
.public-site .btn-outline-primary:focus {
  border-color: var(--cms-primary);
  color: #fff !important;
  background: var(--cms-primary);
  box-shadow: 0 .85rem 1.8rem rgba(var(--cms-primary-rgb), .18);
  transform: translateY(-1px);
}

.public-site .form-control,
.public-site .form-select {
  min-height: 3.1rem;
  border: 1px solid var(--public-line-strong);
  border-radius: .9rem;
  color: var(--public-ink);
  background-color: rgba(255, 255, 255, .93);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72);
}

.public-site .form-control:focus,
.public-site .form-select:focus {
  border-color: rgba(var(--cms-primary-rgb), .44);
  box-shadow: var(--public-focus);
}

.public-site label,
.public-site .form-label {
  color: var(--public-ink);
  font-weight: 850;
}

.public-hero,
.public-page-hero,
.public-page-title,
.public-article-hero,
.public-consultation-hero,
.public-consultations-index-hero {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius-lg);
  background:
    linear-gradient(122deg, rgba(255, 255, 255, .98) 0 45%, rgba(var(--cms-primary-rgb), .078) 45% 100%),
    var(--public-surface-solid);
  box-shadow: var(--public-shadow);
}

.public-hero::before,
.public-page-hero::before,
.public-page-title::before,
.public-article-hero::before,
.public-consultation-hero::before,
.public-consultations-index-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, transparent 0 56%, rgba(255, 255, 255, .42) 56% 57%, transparent 57%),
    linear-gradient(90deg, rgba(var(--cms-primary-rgb), .035), transparent 44%);
  pointer-events: none;
}

.public-hero::after,
.public-page-hero::after,
.public-page-title::after,
.public-article-hero::after,
.public-consultation-hero::after,
.public-consultations-index-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: .4rem;
  background: linear-gradient(90deg, var(--cms-primary), var(--public-teal), var(--public-amber));
}

.public-hero > *,
.public-page-hero > *,
.public-page-title > *,
.public-article-hero > *,
.public-consultation-hero > *,
.public-consultations-index-hero > * {
  position: relative;
  z-index: 1;
}

.public-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(20rem, .9fr);
  gap: clamp(1.5rem, 4vw, 3.25rem);
  align-items: center;
  min-height: clamp(28rem, 58vh, 42rem);
  margin-bottom: 1.5rem;
  padding: clamp(1.6rem, 5vw, 4.25rem);
}

.public-hero__title {
  max-width: 9.5em;
  margin: 0;
  color: var(--public-ink);
  font-size: clamp(3.15rem, 8.3vw, 6.8rem);
  font-weight: 950;
  line-height: .92;
  letter-spacing: 0;
}

.public-hero__lead {
  max-width: 42rem;
  margin-top: 1.25rem;
  color: var(--public-muted) !important;
  font-size: clamp(1.05rem, 1.65vw, 1.22rem);
  line-height: 1.62;
}

.public-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.65rem;
}

.public-hero__visual {
  display: grid;
  gap: 1rem;
}

.public-hero__brand-card,
.public-hero__metric {
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius);
  background: rgba(255, 255, 255, .88);
  box-shadow: var(--public-shadow-soft);
}

.public-hero__brand-card {
  padding: clamp(1.2rem, 3vw, 1.65rem);
}

.public-hero__brand-card .pulse-logo-svg {
  display: block;
  width: 100%;
  height: auto;
  color: var(--cms-primary);
}

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

.public-hero__metric {
  padding: 1rem;
}

.public-hero__metric strong {
  display: block;
  color: var(--cms-primary);
  font-size: 1.55rem;
  font-weight: 950;
  line-height: 1;
}

.public-hero__metric span {
  display: block;
  margin-top: .35rem;
  color: var(--public-muted);
  font-size: .8rem;
  font-weight: 850;
}

.public-page-hero,
.public-page-title,
.public-article-hero,
.public-consultation-hero,
.public-consultations-index-hero {
  display: grid;
  gap: .65rem;
  margin-bottom: 1.5rem;
  padding: clamp(1.45rem, 4vw, 2.85rem);
}

.public-page-hero__title,
.public-page-title h1,
.public-page-title .display-5,
.public-page-title .display-6,
.public-article__title,
.public-consultation-hero__title,
.public-consultations-index-hero h1,
.public-consultations-index-hero__title {
  margin: .1rem 0 0;
  color: var(--public-ink);
  font-size: clamp(2.25rem, 5vw, 4.55rem);
  font-weight: 950;
  line-height: .98;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.public-page-hero__lead,
.public-page-title .lead,
.public-page-title .text-secondary,
.public-article__lead,
.public-consultation-hero__lead,
.public-consultations-index-hero p:not(.eyebrow),
.public-consultations-index-hero__lead {
  max-width: 48rem;
  color: var(--public-muted) !important;
  font-size: 1.05rem;
  line-height: 1.62;
}

.eyebrow,
.public-search-result__label {
  color: color-mix(in srgb, var(--cms-primary) 74%, var(--public-teal) 26%);
  font-size: .76rem;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.public-section,
.public-filter-panel,
.public-search-panel,
.public-search-block,
.public-content-sidebar,
.public-side-panel,
.public-article-main,
.public-document-panel,
.public-appeal-summary,
.public-appeal-form-panel,
.public-account-panel,
.public-publication-card,
.public-record-link,
.public-consultation-index-card,
.public-consultation-panel,
.public-consultation-side-card,
.public-consultation-summary,
.public-panel,
.public-site .card {
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius);
  background: var(--public-surface);
  box-shadow: var(--public-shadow-soft);
}

.public-section,
.public-filter-panel,
.public-search-panel,
.public-search-block,
.public-side-panel,
.public-article-main,
.public-document-panel,
.public-appeal-summary,
.public-appeal-form-panel,
.public-account-panel,
.public-panel__body,
.public-site .card-body {
  padding: clamp(1.15rem, 3vw, 1.85rem);
}

.public-section__header,
.public-search-block__header,
.public-consultations-results__header,
.public-panel__header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 1.15rem;
}

.public-section__title,
.public-search-block__title,
.public-panel__title {
  margin: 0;
  color: var(--public-ink);
  font-size: clamp(1.35rem, 2.35vw, 2.05rem);
  font-weight: 950;
  line-height: 1.12;
}

.public-panel__lead,
.public-record-card__meta,
.public-record-link__meta,
.public-meta,
.public-publication-card__meta,
.public-article__meta {
  color: var(--public-muted);
}

.public-feature-card,
.public-feature-card:visited,
.public-news-card,
.public-page-link,
.public-page-link:visited,
.public-record-card,
.public-record-link,
.public-record-link:visited {
  display: grid;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius);
  color: var(--public-ink);
  background: var(--public-surface-solid);
  box-shadow: var(--public-shadow-soft);
  text-decoration: none;
  transition: border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease;
}

.public-feature-card:hover,
.public-feature-card:focus,
.public-news-card:hover,
.public-news-card:focus,
.public-page-link:hover,
.public-page-link:focus,
.public-record-link:hover,
.public-record-link:focus {
  border-color: var(--public-primary-line);
  color: var(--cms-primary);
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: var(--public-shadow);
}

.public-feature-card__image,
.public-news-card__image {
  min-height: 12rem;
  background:
    linear-gradient(135deg, rgba(var(--cms-primary-rgb), .13), rgba(255, 255, 255, .84)),
    repeating-linear-gradient(135deg, rgba(7, 20, 38, .045) 0 1px, transparent 1px 12px),
    var(--public-surface-strong);
}

.public-feature-card__meta,
.public-meta {
  padding: 1rem 1rem 0;
  color: var(--public-muted);
  font-size: .82rem;
  font-weight: 900;
}

.public-feature-card__title {
  margin: .45rem 0 0;
  padding-inline: 1rem;
  color: inherit;
  font-size: 1.18rem;
  font-weight: 950;
  line-height: 1.22;
}

.public-feature-card p {
  padding: 0 1rem 1rem;
}

.public-record-link {
  gap: .35rem;
  padding: 1rem 1.1rem;
}

.public-page-link {
  gap: .4rem;
  padding: 1rem 1.1rem;
}

.public-record-link strong,
.public-record-card__title {
  color: inherit;
  font-size: 1.03rem;
  font-weight: 920;
  line-height: 1.35;
}

.public-record-card {
  padding: 1rem;
}

.public-record-card + .public-record-card {
  margin-top: .85rem;
}

.public-content-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
  gap: clamp(1rem, 3vw, 1.5rem);
  align-items: start;
  min-width: 0;
}

.public-content-layout:has(> .public-sidebar:first-child),
.public-content-layout:has(> .public-content-sidebar:first-child),
.public-content-layout:has(> .docs-registry-public-sidebar:first-child) {
  grid-template-columns: minmax(12rem, 16rem) minmax(0, 1fr);
}

.public-document-related .public-content-layout {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.docs-registry-public-sidebar,
.public-sidebar,
.public-content-sidebar,
.public-account-sidebar,
.public-article-sidebar,
.public-appeal-guide,
.public-appeal-sidebar,
.public-consultation-sidebar {
  position: static !important;
  top: auto !important;
  min-width: 0;
}

.docs-registry-public-sidebar,
.public-content-sidebar,
.public-account-sidebar,
.public-consultation-sidebar,
.public-article-sidebar {
  flex: 0 0 min(18rem, 100%);
  width: min(18rem, 100%);
  padding: 1.15rem;
}

.public-side-stack {
  display: grid;
  gap: 1rem;
  align-self: start;
}

.public-sidebar-nav {
  display: grid;
  gap: .55rem;
}

.public-sidebar-nav__link,
.public-sidebar-nav__link:visited {
  display: flex;
  justify-content: space-between;
  gap: .8rem;
  align-items: center;
  padding: .9rem .95rem;
  border-radius: .9rem;
  color: var(--public-ink);
  font-weight: 850;
  text-decoration: none;
}

.public-sidebar-nav__link:hover,
.public-sidebar-nav__link:focus {
  color: var(--cms-primary);
  background: var(--public-primary-soft);
  text-decoration: none;
}

.public-sidebar-nav__link.is-active,
.public-sidebar-nav__link.is-active:visited,
.public-sidebar-nav__link.is-active:hover,
.public-sidebar-nav__link.is-active:focus {
  color: #fff;
  background: var(--cms-primary);
}

.public-sidebar-nav__count {
  display: inline-grid;
  min-width: 1.55rem;
  min-height: 1.55rem;
  place-items: center;
  padding-inline: .35rem;
  border-radius: 999px;
  color: var(--cms-primary);
  background: rgba(255, 255, 255, .92);
  font-size: .78rem;
  font-weight: 950;
}

.public-sidebar-nav__link.is-active .public-sidebar-nav__count {
  color: var(--cms-primary);
  background: #fff;
}

.public-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  align-items: center;
}

.public-action-row--end {
  justify-content: flex-end;
}

.public-empty-state,
.public-empty,
.public-mini-empty {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px dashed rgba(7, 20, 38, .18);
  border-radius: var(--public-radius);
  color: var(--public-muted);
  background: rgba(255, 255, 255, .72);
  font-weight: 750;
}

.public-site .table {
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
  border-color: transparent;
  border-radius: var(--public-radius);
}

.public-site .table thead th {
  border-bottom: 1px solid var(--public-line);
  color: color-mix(in srgb, var(--cms-primary) 82%, var(--public-ink) 18%);
  background: rgba(248, 250, 252, .96);
  font-size: .76rem;
  font-weight: 950;
  text-transform: uppercase;
}

.public-site .table tbody tr:hover {
  background: var(--public-primary-soft);
}

.public-badge,
.public-site .badge {
  border-radius: 999px;
  font-weight: 900;
}

.public-back-link,
.public-back-link:visited {
  display: inline-flex;
  gap: .45rem;
  align-items: center;
  width: fit-content;
  margin-bottom: .9rem;
  color: var(--cms-primary);
  font-size: .9rem;
  font-weight: 900;
  text-decoration: none;
}

.public-back-link::before {
  content: "←";
  font-weight: 950;
}

.public-back-link:hover,
.public-back-link:focus {
  color: color-mix(in srgb, var(--cms-primary) 84%, #000 16%);
  text-decoration: none;
}

.public-footer {
  margin-top: 0;
  border-top: 1px solid var(--public-line);
  color: rgba(255, 255, 255, .88);
  background: linear-gradient(135deg, color-mix(in srgb, var(--cms-primary) 86%, #000 14%), var(--cms-primary));
}

.public-footer__inner {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  align-items: center;
  padding-block: 2rem;
}

.public-footer__logo {
  width: 10rem;
  color: #fff;
}

.public-footer__links a,
.public-footer__links a:visited {
  display: inline-flex;
  padding: .6rem .8rem;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
  font-weight: 850;
}

.public-footer__links a:hover,
.public-footer__links a:focus {
  background: rgba(255, 255, 255, .12);
}

.public-site.public-scheme-dark {
  --public-ink: #f8fafc;
  --public-muted: #cbd5e1;
  --public-faint: #94a3b8;
  --public-surface: rgba(15, 23, 42, .92);
  --public-surface-solid: #111827;
  --public-surface-strong: #1f2937;
  --public-line: rgba(226, 232, 240, .14);
  --public-line-strong: rgba(226, 232, 240, .28);
  background:
    linear-gradient(rgba(226, 232, 240, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(226, 232, 240, .035) 1px, transparent 1px),
    linear-gradient(118deg, #020617 0 34%, color-mix(in srgb, var(--cms-primary) 38%, #020617 62%) 34% 56%, #020617 56% 100%);
}

.public-site.public-scheme-dark .public-header,
.public-site.public-scheme-dark .public-nav {
  background: rgba(2, 6, 23, .88);
}

.public-site.public-scheme-dark .public-nav__link,
.public-site.public-scheme-dark .public-nav__link:visited,
.public-site.public-scheme-dark .public-nav .dropdown-item {
  color: var(--public-ink) !important;
}

.public-site.public-scheme-dark .public-hero,
.public-site.public-scheme-dark .public-page-hero,
.public-site.public-scheme-dark .public-page-title,
.public-site.public-scheme-dark .public-article-hero,
.public-site.public-scheme-dark .public-consultation-hero,
.public-site.public-scheme-dark .public-consultations-index-hero {
  background:
    linear-gradient(122deg, rgba(15, 23, 42, .98) 0 45%, rgba(var(--cms-primary-rgb), .22) 45% 100%),
    #111827;
}

.public-site.public-scheme-dark .public-hero__brand-card,
.public-site.public-scheme-dark .public-hero__metric,
.public-site.public-scheme-dark .public-nav__search-input,
.public-site.public-scheme-dark .public-nav__search-button,
.public-site.public-scheme-dark .form-control,
.public-site.public-scheme-dark .form-select {
  color: var(--public-ink);
  background: rgba(15, 23, 42, .88);
}

.public-site.public-scheme-dark .public-hero__brand-card .pulse-logo-svg,
.public-site.public-scheme-dark .public-logo .pulse-logo-svg {
  color: #fff;
}

.public-site.public-scheme-contrast {
  --public-ink: #000;
  --public-muted: #1f2937;
  --public-surface: #fff;
  --public-surface-solid: #fff;
  --public-line: #000;
  --public-line-strong: #000;
  --public-shadow: none;
  --public-shadow-soft: none;
  background: #fff;
}

.public-record-list,
.public-publication-list,
.public-search-results,
.public-related-grid,
.public-side-list {
  display: grid;
  gap: .85rem;
}

.public-content-grid,
.public-news-grid,
.public-page-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.public-home-services {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.public-feature-card__image img,
.public-news-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 992px) {
  .public-header__main {
    min-height: auto;
    padding-block: .9rem;
  }

  .public-nav__search,
  .public-nav__search form,
  .public-nav__search-input {
    max-width: none;
    width: 100%;
  }

  .public-hero {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .public-hero__metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .public-content-grid,
  .public-news-grid,
  .public-page-links,
  .public-home-services {
    grid-template-columns: 1fr;
  }

  .docs-registry-filter-form,
  .docs-registry-filter-form--compact,
  .public-search-form {
    grid-template-columns: 1fr !important;
  }

  .public-content-layout,
  .public-content-layout:has(> .public-sidebar:first-child),
  .public-content-layout:has(> .public-content-sidebar:first-child),
  .public-content-layout:has(> .docs-registry-public-sidebar:first-child),
  .public-document-related .public-content-layout {
    grid-template-columns: 1fr;
  }

  .docs-registry-public-sidebar,
  .public-content-sidebar,
  .public-account-sidebar,
  .public-consultation-sidebar,
  .public-article-sidebar {
    width: 100%;
    flex-basis: auto;
  }
}

@media (max-width: 640px) {
  .public-site {
    overflow-x: hidden;
  }

  .public-container {
    width: min(100% - 1rem, 1260px);
  }

  .public-header__top-inner {
    align-items: stretch;
    flex-direction: column;
    gap: .45rem;
    padding-block: .45rem;
  }

  .public-header__account,
  .public-accessibility,
  .public-accessibility__form {
    flex-wrap: wrap;
    width: 100%;
  }

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

  .public-accessibility__form {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr) auto;
    gap: .35rem;
  }

  .public-accessibility__select {
    width: 100%;
    min-width: 0;
  }

  .public-header__main {
    gap: .75rem;
  }

  .public-logo-pair {
    gap: .65rem;
    width: 100%;
  }

  .public-logo .pulse-logo-svg {
    width: min(12rem, 52vw);
  }

  .public-community-crest {
    height: 3.1rem;
    margin-left: auto;
  }

  .public-hero,
  .public-page-hero,
  .public-page-title,
  .public-article-hero,
  .public-consultation-hero,
  .public-consultations-index-hero {
    border-radius: 1rem;
  }

  .public-hero__title,
  .public-page-hero__title,
  .public-page-title h1,
  .public-article__title,
  .public-consultation-hero__title,
  .public-consultations-index-hero__title {
    font-size: clamp(2.05rem, 13vw, 3.2rem);
  }

  .public-hero__metrics {
    grid-template-columns: 1fr;
  }

  .public-section__header,
  .public-search-block__header,
  .public-consultations-results__header,
  .public-panel__header,
  .public-footer__inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .public-action-row,
  .public-action-row .btn {
    width: 100%;
  }
}

@media (max-width: 430px) {
  .public-accessibility__form {
    grid-template-columns: 1fr 1fr auto;
  }

  .public-accessibility__label {
    grid-column: span 1;
  }

  .public-accessibility__button {
    grid-column: 3;
    grid-row: 1 / span 2;
    height: 100%;
  }
}

/* Public redesign: module and cabinet harmonization */
.public-account-layout {
  display: grid !important;
  grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 1.5rem);
  align-items: start !important;
}

.public-account-sidebar {
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius);
  background: var(--public-surface);
  box-shadow: var(--public-shadow-soft);
}

.public-account-content {
  max-width: none !important;
}

.public-account-content > .public-page-title {
  min-height: clamp(12rem, 20vw, 14.5rem);
}

.public-notification-list,
.public-account-appeals-list,
.public-consultation-comments,
.public-consultation-file-list {
  display: grid;
  gap: .85rem;
}

.public-notification-item,
.public-account-appeal-card,
.public-consultation-comment,
.public-consultation-file,
.public-consultation-file:visited,
.public-related-card,
.public-related-card:visited,
.public-file-card,
.public-file-card:visited {
  display: grid;
  min-width: 0;
  gap: .6rem;
  padding: 1rem;
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius);
  color: var(--public-ink);
  background: var(--public-surface-solid);
  box-shadow: var(--public-shadow-soft);
  text-decoration: none;
}

.public-notification-item,
.public-account-appeal-card {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.public-notification-item.is-unread {
  border-color: var(--public-primary-line);
  background: linear-gradient(90deg, var(--public-primary-soft), var(--public-surface-solid));
}

.public-account-appeal-card.is-due-soon {
  border-color: rgba(183, 121, 31, .42);
  background: linear-gradient(90deg, rgba(183, 121, 31, .1), var(--public-surface-solid));
}

.public-account-appeal-card.is-overdue {
  border-color: rgba(190, 18, 60, .38);
  background: linear-gradient(90deg, rgba(190, 18, 60, .09), var(--public-surface-solid));
}

.public-account-appeal-card h2,
.public-notification-item h2 {
  margin: 0;
  color: var(--public-ink);
  font-size: 1.08rem;
  font-weight: 950;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.public-account-appeal-card__meta,
.public-account-appeal-card__footer,
.public-consultation-index-card__meta,
.public-consultation-comment__header {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .75rem;
  align-items: center;
  color: var(--public-muted);
  font-size: .88rem;
  font-weight: 800;
}

.public-notification-item__module,
.public-status-pill,
.public-search-result__label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 1.7rem;
  padding: .25rem .65rem;
  border-radius: 999px;
  color: var(--cms-primary);
  background: var(--public-primary-soft);
  font-size: .78rem;
  font-weight: 950;
  text-transform: none;
}

.public-status-pill {
  color: #fff;
  background: var(--cms-primary);
}

.public-status-pill--small {
  min-height: 1.45rem;
  padding: .18rem .55rem;
  font-size: .72rem;
}

.public-consultations-index-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: end;
}

.public-consultations-index-hero__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(7rem, 1fr));
  gap: .8rem;
}

.public-consultations-index-hero__stats > div {
  padding: 1rem;
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius);
  background: rgba(255, 255, 255, .78);
  box-shadow: var(--public-shadow-soft);
}

.public-consultations-index-hero__stats strong {
  display: block;
  color: var(--cms-primary);
  font-size: 1.65rem;
  font-weight: 950;
  line-height: 1;
}

.public-consultations-index-hero__stats span {
  display: block;
  margin-top: .35rem;
  color: var(--public-muted);
  font-size: .82rem;
  font-weight: 850;
}

.public-consultations-filter,
.public-consultations-results,
.public-appeal-form-panel,
.public-consultation-main,
.public-consultation-panel,
.public-consultation-side-card,
.public-consultation-summary {
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius);
  background: var(--public-surface);
  box-shadow: var(--public-shadow-soft);
}

.public-consultations-filter,
.public-consultations-results,
.public-appeal-form-panel,
.public-consultation-panel,
.public-consultation-side-card,
.public-consultation-summary {
  padding: clamp(1.15rem, 3vw, 1.85rem);
}

.public-appeal-guide {
  min-width: 0;
}

.public-consultations-filter__form {
  display: grid;
  grid-template-columns: minmax(14rem, 1fr) minmax(12rem, .35fr) auto;
  gap: .9rem;
  align-items: end;
}

.public-consultations-filter__field,
.public-consultations-filter__field--wide {
  min-width: 0;
}

.public-consultations-filter__actions {
  display: flex;
  gap: .55rem;
  align-items: center;
}

.public-consultations-results {
  display: grid;
  gap: .9rem;
  margin-top: 1.5rem;
}

.public-consultations-results__header h2,
.public-consultation-section-title h2 {
  margin: 0;
  color: var(--public-ink);
  font-size: clamp(1.35rem, 2.35vw, 2.05rem);
  font-weight: 950;
  line-height: 1.12;
}

.public-consultation-index-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(10rem, auto);
  gap: 1rem;
  padding: 1.1rem;
}

.public-consultation-index-card h3 {
  margin: .45rem 0;
  color: var(--public-ink);
  font-size: clamp(1.2rem, 2vw, 1.65rem);
  font-weight: 950;
  line-height: 1.18;
}

.public-consultation-index-card h3 a,
.public-consultation-index-card h3 a:visited {
  color: inherit;
  text-decoration: none;
}

.public-consultation-index-card h3 a:hover,
.public-consultation-index-card h3 a:focus {
  color: var(--cms-primary);
}

.public-consultation-index-card p {
  margin-bottom: 0;
  color: var(--public-muted);
  line-height: 1.55;
}

.public-consultation-index-card__aside {
  display: grid;
  gap: .7rem;
  align-content: center;
  min-width: 9rem;
}

.public-consultation-index-card__aside > div {
  padding: .75rem;
  border: 1px solid var(--public-line);
  border-radius: .85rem;
  background: rgba(255, 255, 255, .66);
}

.public-consultation-index-card__aside strong,
.public-consultation-support-count,
.public-support-count {
  display: block;
  color: var(--cms-primary);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 950;
  line-height: 1;
}

.public-consultation-index-card__aside span {
  color: var(--public-muted);
  font-size: .82rem;
  font-weight: 850;
}

.public-consultation-layout {
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
  align-items: stretch;
}

.public-consultation-main {
  display: grid;
  gap: 1rem;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.public-consultation-layout > .public-consultation-sidebar {
  width: 100%;
  min-width: 0;
  height: 100%;
  padding: 0;
  align-self: stretch;
  align-content: start;
}

.public-content-layout > .public-budget-project-sidebar {
  width: 100%;
  min-width: 0;
  height: 100%;
  padding: 0;
  align-self: stretch;
  align-content: start;
}

.public-content-layout > .public-flush-sidebar {
  width: 100%;
  min-width: 0;
  height: 100%;
  padding: 0;
  align-self: stretch;
  align-content: start;
}

.public-consultation-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem .8rem;
  align-items: center;
  color: var(--public-muted);
  font-weight: 850;
}

.public-consultation-section-title {
  margin-bottom: 1rem;
}

.public-consultation-section-title--row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.public-consultation-comment__header {
  justify-content: space-between;
}

.public-consultation-comment__header strong {
  color: var(--public-ink);
}

.public-consultation-file:hover,
.public-consultation-file:focus,
.public-related-card:hover,
.public-related-card:focus,
.public-file-card:hover,
.public-file-card:focus {
  border-color: var(--public-primary-line);
  color: var(--cms-primary);
  text-decoration: none;
  transform: translateY(-1px);
}

.public-consultation-file span,
.public-file-card span,
.public-related-card span {
  color: var(--public-muted);
  font-size: .88rem;
  font-weight: 800;
}

.public-appeal-form-layout {
  display: grid;
  grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 1.5rem);
  align-items: start;
}

.public-step-list {
  display: grid;
  gap: .95rem;
}

.public-step-list > div {
  display: grid;
  grid-template-columns: 2.35rem minmax(0, 1fr);
  gap: .2rem .8rem;
  align-items: start;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.public-step-list span {
  display: grid;
  grid-row: span 2;
  width: 2.35rem;
  height: 2.35rem;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background: var(--cms-primary);
  font-weight: 950;
}

.public-step-list strong {
  color: var(--public-ink);
  font-weight: 950;
}

.public-step-list p {
  margin: 0;
  color: var(--public-muted);
  line-height: 1.45;
}

.public-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}

.public-choice-card {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius);
  background: var(--public-surface-solid);
  cursor: pointer;
}

.public-choice-card:has(input:checked) {
  border-color: var(--public-primary-line);
  background: var(--public-primary-soft);
  box-shadow: var(--public-focus);
}

.public-choice-card strong {
  display: block;
  color: var(--public-ink);
  font-weight: 950;
}

.public-choice-card small {
  display: block;
  margin-top: .2rem;
  color: var(--public-muted);
  line-height: 1.45;
}

.public-form-error,
.public-state,
.public-guard-card {
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius);
  background: var(--public-surface-solid);
  box-shadow: var(--public-shadow-soft);
}

.public-form-error {
  border-color: rgba(190, 18, 60, .28);
  background: rgba(190, 18, 60, .07);
}

.public-guard-card {
  border-color: var(--public-primary-line);
  background: var(--public-primary-soft);
}

.docs-registry-public-layout {
  align-items: start;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.docs-registry-public-content,
.public-content-main {
  min-width: 0;
  max-width: 100%;
}

.docs-registry-public-text,
.public-document-content {
  color: var(--public-ink);
  line-height: 1.72;
}

.docs-registry-file-card {
  overflow: hidden;
}

.docs-registry-file-card__header {
  display: flex;
  justify-content: space-between;
  gap: .85rem;
  align-items: flex-start;
}

.docs-registry-file-card__body {
  min-width: 0;
}

.docs-registry-file-card__badge {
  flex: 0 0 auto;
}

.public-search-form {
  grid-template-columns: minmax(14rem, 1fr) auto;
}

.public-search-panel {
  margin-bottom: 1.5rem;
}

.public-search-result__excerpt {
  color: var(--public-muted);
  line-height: 1.5;
}

.public-related-grid,
.public-side-list {
  display: grid;
  gap: .85rem;
}

.public-side-list__item,
.public-side-list__item:visited {
  display: grid;
  gap: .25rem;
  padding: .85rem;
  border: 1px solid var(--public-line);
  border-radius: .85rem;
  color: var(--public-ink);
  background: var(--public-surface-solid);
  text-decoration: none;
}

.public-side-list__item:hover,
.public-side-list__item:focus {
  border-color: var(--public-primary-line);
  color: var(--cms-primary);
  text-decoration: none;
}

.public-side-list__item span {
  color: var(--public-muted);
  font-size: .82rem;
  font-weight: 850;
}

.public-side-list__item strong,
.public-related-card strong,
.public-file-card strong,
.public-consultation-file strong {
  overflow-wrap: anywhere;
}

.public-article__cover {
  overflow: hidden;
  margin: 0 0 1.25rem;
  border-radius: var(--public-radius);
}

.public-article__cover img {
  display: block;
  width: 100%;
  height: auto;
}

.public-inline-action,
.public-inline-action:visited {
  color: var(--cms-primary);
  font-weight: 900;
  text-decoration: none;
}

.public-inline-action:hover,
.public-inline-action:focus {
  color: color-mix(in srgb, var(--cms-primary) 82%, #000 18%);
}

.docs-registry-public-content .table-responsive {
  max-width: 100%;
  overflow-x: auto;
  border-radius: var(--public-radius);
}

.public-document-page-header,
.public-document-hero__row,
.public-document-hero__row > *,
.public-document-main,
.public-panel,
.public-panel__body {
  min-width: 0;
  max-width: 100%;
}

.public-document-hero__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: start;
}

.public-document-page-header .public-page-hero__title {
  font-size: clamp(2rem, 4vw, 3.6rem);
}

.public-document-hero__meta {
  margin-top: 1.15rem !important;
}

.public-document-hero__actions,
.public-action-row {
  flex-wrap: wrap;
}

.public-empty-state--roomy h2,
.public-empty-state h2 {
  margin: .2rem 0 .4rem;
  color: var(--public-ink);
  font-size: clamp(1.35rem, 2.3vw, 2rem);
  font-weight: 950;
}

.public-empty-state p:last-child {
  margin-bottom: 0;
}

@media (max-width: 992px) {
  .public-account-layout,
  .public-appeal-form-layout,
  .public-consultation-layout {
    grid-template-columns: 1fr;
  }

  .public-consultations-index-hero,
  .public-consultations-filter__form,
  .public-consultation-index-card {
    grid-template-columns: 1fr;
  }

  .public-consultation-index-card__aside {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .public-choice-grid,
  .public-consultations-index-hero__stats,
  .public-consultation-index-card__aside {
    grid-template-columns: 1fr;
  }

  .public-notification-item,
  .public-account-appeal-card {
    grid-template-columns: 1fr;
  }

  .public-notification-item .btn,
  .public-account-appeal-card .btn {
    width: 100%;
  }

  .public-consultations-filter__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .public-site .table {
    min-width: 44rem;
  }
}
