* {
  box-sizing: border-box;
}

html {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--kaone-color-text);
  background: var(--kaone-color-page);
}

body {
  min-height: 100vh;
  margin: 0;
  display: flex;
  flex-direction: column;
}

a {
  color: inherit;
}

.skip-link {
  position: absolute;
  left: 1rem;
  top: -5rem;
  z-index: 10;
  padding: 0.75rem 1rem;
  color: var(--kaone-color-on-action);
  background: var(--kaone-color-action);
}

.skip-link:focus {
  top: 1rem;
}

.hero,
.principles,
.page-intro,
.surface-grid,
.evidence-note,
.filter-panel,
.data-section,
.example-list {
  width: min(100% - 2rem, 72rem);
  margin-inline: auto;
}

main {
  flex: 1;
}

.hero {
  padding-block: clamp(4rem, 10vw, 8rem) clamp(3rem, 7vw, 5rem);
}

.eyebrow {
  margin: 0 0 1rem;
  color: var(--kaone-color-action);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

h1,
h2,
h3,
p {
  text-wrap: pretty;
}

h1 {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(2.8rem, 9vw, 6.5rem);
  line-height: 0.96;
  letter-spacing: -0.055em;
}

.hero__lede,
.page-intro__lede {
  max-width: 45rem;
  margin: 2rem 0 0;
  color: var(--kaone-color-text-muted);
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  line-height: 1.65;
}

.hero__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
}

.button-link,
.filter-form button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.7rem 1rem;
  border: 1px solid var(--kaone-color-action);
  border-radius: 0.2rem;
  color: var(--kaone-color-on-action);
  background: var(--kaone-color-action);
  font: inherit;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}

.button-link:hover,
.filter-form button:not(:disabled):hover {
  background: var(--kaone-color-action-hover);
  border-color: var(--kaone-color-action-hover);
}

.text-link {
  color: var(--kaone-color-action);
  font-weight: 750;
  text-underline-offset: 0.2em;
}

.text-link:hover {
  color: var(--kaone-color-action-hover);
  text-decoration: underline;
}

.principles,
.surface-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-bottom: clamp(4rem, 9vw, 7rem);
  overflow: hidden;
  border: 1px solid var(--kaone-color-border);
  background: var(--kaone-color-border);
}

.principles article,
.surface-card {
  padding: clamp(1.4rem, 3vw, 2rem);
  background: var(--kaone-color-surface);
}

.principles h2,
.surface-card h2 {
  margin: 0 0 0.65rem;
  font-size: 1rem;
}

.principles p,
.surface-card p {
  color: var(--kaone-color-text-muted);
  line-height: 1.55;
}

.principles p {
  margin: 0;
}

.surface-card p {
  margin: 0 0 1.2rem;
}

.surface-card__meta {
  margin: 0 0 0.75rem !important;
  color: var(--kaone-color-action) !important;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-intro {
  padding-block: clamp(3.5rem, 8vw, 6rem) clamp(2rem, 5vw, 3.5rem);
}

.page-intro--compact h1 {
  max-width: 15ch;
  font-size: clamp(2.4rem, 7vw, 5rem);
}

.evidence-note,
.filter-panel,
.data-section {
  margin-bottom: clamp(3rem, 7vw, 5rem);
}

.evidence-note {
  padding: clamp(1.4rem, 3vw, 2rem);
  border-left: 0.3rem solid var(--kaone-color-info);
  background: var(--kaone-color-surface);
}

.evidence-note h2,
.filter-panel h2,
.data-section h2,
.example-card h2,
.example-card h3 {
  margin-top: 0;
}

.evidence-note p {
  max-width: 54rem;
  margin-bottom: 0;
  color: var(--kaone-color-text-muted);
  line-height: 1.6;
}

.filter-panel {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--kaone-color-border);
  background: var(--kaone-color-surface);
}

.filter-form {
  display: grid;
  grid-template-columns: minmax(10rem, 0.7fr) minmax(16rem, 1.5fr) auto auto;
  align-items: end;
  gap: 1rem;
}

.filter-form label {
  display: grid;
  gap: 0.45rem;
  color: var(--kaone-color-text-muted);
  font-size: 0.85rem;
  font-weight: 750;
}

.filter-form input,
.filter-form select {
  width: 100%;
  min-height: 2.75rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--kaone-color-border);
  border-radius: 0.2rem;
  color: var(--kaone-color-text);
  background: var(--kaone-color-page);
  font: inherit;
}

.notice,
.empty-state {
  padding: 1rem;
  border: 1px solid var(--kaone-color-border);
  color: var(--kaone-color-text-muted);
  background: var(--kaone-color-surface);
}

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

.section-heading h2,
.section-heading p {
  margin: 0;
}

.section-heading p {
  color: var(--kaone-color-text-muted);
  font-size: 0.9rem;
}

.table-scroll {
  overflow-x: auto;
  border: 1px solid var(--kaone-color-border);
}

.evidence-table {
  width: 100%;
  min-width: 58rem;
  border-collapse: collapse;
  background: var(--kaone-color-surface);
}

.evidence-table th,
.evidence-table td {
  padding: 1rem;
  border-bottom: 1px solid var(--kaone-color-border);
  text-align: left;
  vertical-align: top;
  line-height: 1.45;
}

.evidence-table th {
  color: var(--kaone-color-text-muted);
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.evidence-table tbody tr:last-child td {
  border-bottom: 0;
}

.evidence-table--compact {
  min-width: 44rem;
}

.muted {
  color: var(--kaone-color-text-muted);
  font-size: 0.875em;
}

.mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  overflow-wrap: anywhere;
}

.status-grid,
.example-list {
  display: grid;
  gap: 1rem;
}

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

.status-card,
.example-card {
  padding: clamp(1.4rem, 3vw, 2rem);
  border: 1px solid var(--kaone-color-border);
  background: var(--kaone-color-surface);
}

.status-card__header h3,
.example-card__header h2 {
  margin-bottom: 0.5rem;
}

.status-card__authority {
  margin: 0 0 0.35rem;
  color: var(--kaone-color-action);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.metadata-list,
.subtotal-list {
  margin: 1.25rem 0;
}

.metadata-list div,
.subtotal-list div {
  display: grid;
  grid-template-columns: minmax(8rem, 0.8fr) minmax(0, 1.5fr);
  gap: 1rem;
  padding-block: 0.65rem;
  border-top: 1px solid var(--kaone-color-border);
}

.metadata-list dt,
.subtotal-list dt {
  color: var(--kaone-color-text-muted);
  font-size: 0.85rem;
  font-weight: 750;
}

.metadata-list dd,
.subtotal-list dd {
  margin: 0;
}

.example-list {
  margin-bottom: clamp(4rem, 9vw, 7rem);
}

.example-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.status-pill {
  flex: 0 0 auto;
  padding: 0.35rem 0.55rem;
  border: 1px solid var(--kaone-color-border);
  border-radius: 999px;
  color: var(--kaone-color-text-muted);
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.status-pill--complete {
  color: var(--kaone-color-on-info);
  background: var(--kaone-color-info);
  border-color: var(--kaone-color-info);
}

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

.compact-list,
.blocker-list {
  padding-left: 1.2rem;
  line-height: 1.55;
}

.blocker-list li + li {
  margin-top: 1rem;
}

.blocker-list p {
  margin: 0.35rem 0 0;
}

.example-lines {
  margin-top: 2rem;
}

@media (max-width: 58rem) {
  .filter-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 44rem) {
  .principles,
  .surface-grid,
  .status-grid,
  .example-grid,
  .filter-form {
    grid-template-columns: 1fr;
  }

  .section-heading,
  .example-card__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .metadata-list div,
  .subtotal-list div {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
}


.interaction-status {
  min-height: 1.25rem;
  margin: 0.9rem 0 0;
  color: var(--kaone-color-text-muted);
  font-size: 0.85rem;
}

.source-citation {
  display: grid;
  gap: 0.35rem;
}

.source-citation span {
  color: var(--kaone-color-text-muted);
  font-size: 0.85rem;
}

.row-disclosure {
  margin-top: 0.5rem;
}

.row-disclosure p {
  max-width: 34rem;
  margin: 0.5rem 0;
  color: var(--kaone-color-text-muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

[data-tariff-results][aria-busy="true"] {
  opacity: 0.62;
}


.planning-form,
.planning-result,
.planning-boundary {
  width: min(100% - 2rem, 72rem);
  margin-inline: auto;
}

.planning-form {
  display: grid;
  gap: 1.4rem;
  margin-bottom: 3rem;
}

.planning-panel {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--kaone-color-border);
  background: var(--kaone-color-surface);
}

.planning-activity-list {
  display: grid;
  gap: 1rem;
}

.planning-activity-row {
  margin: 0;
  padding: 1rem;
  border: 1px solid var(--kaone-color-border);
  background: var(--kaone-color-page);
}

.planning-activity-row legend {
  padding-inline: 0.35rem;
  font-weight: 800;
}

.planning-result {
  margin-bottom: clamp(4rem, 8vw, 7rem);
  border-top: 0.35rem solid var(--kaone-color-action);
}

.planning-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  padding-block: 1.5rem;
}

.planning-metrics section {
  padding: 1.1rem;
  border: 1px solid var(--kaone-color-border);
  background: var(--kaone-color-surface);
}

.planning-metrics strong {
  display: block;
  margin-top: 0.35rem;
  font-size: clamp(1.25rem, 3vw, 2rem);
}

.planning-next-step {
  padding-top: 1.25rem;
}

@media (max-width: 52rem) {
  .planning-metrics {
    grid-template-columns: 1fr;
  }
}


.fees-landing-brand {
  margin-bottom: 1.5rem;
}

/* U2 — production-direction v3 adoption */
.fees-home,
.home-process,
.browse-form,
.browse-results {
  width: min(100% - 2.25rem, 72rem);
  margin-inline: auto;
}

.fees-home {
  min-height: 38rem;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(16rem, 0.7fr);
  gap: clamp(3rem, 9vw, 7.5rem);
  align-items: center;
  padding-block: clamp(4.5rem, 8vw, 6rem);
}

.fees-home h1 {
  max-width: 12ch;
  font-size: clamp(3.4rem, 7vw, 7rem);
  font-weight: 650;
}

.fees-home h1 em {
  color: var(--kaone-color-action);
  font-style: normal;
}

.fees-home__lede {
  max-width: 44rem;
  margin: 1.6rem 0 0;
  color: #453d35;
  font-size: clamp(1.08rem, 2vw, 1.32rem);
  line-height: 1.6;
}

.start-panel {
  padding-top: 1.4rem;
  border-top: 0.3rem solid var(--kaone-color-accent);
}

.start-panel h2 {
  margin: 0 0 0.6rem;
  font-size: 0.78rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.start-panel > p {
  margin: 0 0 1.3rem;
  color: var(--kaone-color-text-muted);
  line-height: 1.55;
}

.start-panel__actions {
  display: grid;
  gap: 0.7rem;
}

.button-link--pill {
  border-radius: 999px;
}

.home-process {
  position: relative;
  display: grid;
  grid-template-columns: minmax(15rem, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(3rem, 7vw, 5rem);
  padding-block: clamp(3.5rem, 7vw, 4.5rem);
}

.home-process::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  z-index: -1;
  width: 100vw;
  transform: translateX(-50%);
  border-top: 1px solid var(--kaone-color-border);
  border-bottom: 1px solid var(--kaone-color-border);
  background: #fbfaf7;
}

.home-process > * {
  position: relative;
}

.home-process__intro h2 {
  max-width: 11ch;
  margin: 0;
  font-size: clamp(2.1rem, 4vw, 3.8rem);
  line-height: 1;
  letter-spacing: -0.045em;
}

.home-process__steps {
  display: grid;
}

.home-process__steps article {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: start;
  padding: 1.2rem 0;
  border-bottom: 1px solid var(--kaone-color-border);
}

.home-process__steps article > span {
  color: var(--kaone-color-accent);
  font-weight: 900;
}

.home-process__steps h3,
.home-process__steps p {
  margin: 0;
}

.home-process__steps p {
  margin-top: 0.3rem;
  color: var(--kaone-color-text-muted);
  line-height: 1.5;
}

.home-process__steps a {
  color: var(--kaone-color-text-muted);
  font-weight: 800;
  text-decoration: none;
}

.context-links {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  border-bottom: 1px solid var(--kaone-color-border);
}

.context-links article {
  padding: 3rem 2.375rem;
  border-right: 1px solid var(--kaone-color-border);
}

.context-links article:first-child {
  padding-left: max(1.125rem, calc((100vw - 72rem) / 2));
}

.context-links article:last-child {
  padding-right: max(1.125rem, calc((100vw - 72rem) / 2));
  border-right: 0;
}

.context-links small {
  color: var(--kaone-color-action);
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.context-links h2 {
  margin: 0.75rem 0 0.6rem;
  font-size: 1.45rem;
}

.context-links p {
  color: var(--kaone-color-text-muted);
  line-height: 1.55;
}

.browse-form {
  margin-bottom: 1.5rem;
}

.browse-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 14rem auto;
  gap: 1.15rem;
  align-items: end;
  padding: 1.8rem 0 1.1rem;
  border-bottom: 1px solid var(--kaone-color-border);
}

.browse-tools > label,
.more-filters summary,
.more-filters label {
  color: var(--kaone-color-text-muted);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.browse-tools > label {
  display: grid;
  gap: 0.45rem;
}

.browse-tools input,
.browse-tools select,
.more-filters select {
  width: 100%;
  min-height: 3rem;
  border: 0;
  border-bottom: 1px solid #938979;
  border-radius: 0;
  color: var(--kaone-color-text);
  background: transparent;
  font: inherit;
}

.more-filters {
  position: relative;
}

.more-filters summary {
  min-height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0 1rem;
  border: 1px solid var(--kaone-color-border);
  border-radius: 999px;
  color: var(--kaone-color-text);
  cursor: pointer;
  list-style: none;
}

.more-filters summary::-webkit-details-marker {
  display: none;
}

.more-filters summary:hover {
  color: var(--kaone-color-action-hover);
  background: var(--kaone-color-highlight);
}

.filter-count {
  color: var(--kaone-color-action);
}

.more-filters__panel {
  position: absolute;
  right: 0;
  top: 3.6rem;
  z-index: 20;
  width: min(44rem, calc(100vw - 2.25rem));
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  padding: 1.25rem;
  border: 1px solid var(--kaone-color-border);
  background: var(--kaone-color-page);
  box-shadow: 0 18px 50px rgb(50 36 20 / 14%);
}

.more-filters__panel label {
  display: grid;
  gap: 0.4rem;
}

.more-filters__panel p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--kaone-color-text-muted);
  font-size: 0.78rem;
  line-height: 1.45;
}

.category-rail {
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  padding: 1.1rem 0 0.75rem;
  scrollbar-width: thin;
}

.category-chip {
  min-height: 2.5rem;
  flex: 0 0 auto;
  padding: 0.55rem 0.8rem;
  border: 1px solid var(--kaone-color-border);
  border-radius: 999px;
  color: #493f35;
  background: var(--kaone-color-page);
  font: inherit;
  font-size: 0.8rem;
  font-weight: 800;
  cursor: pointer;
}

.category-chip:not(:disabled):hover {
  color: var(--kaone-color-action-hover);
  background: var(--kaone-color-highlight);
}

.category-chip--active {
  border-color: #111;
  color: #fff;
  background: #111;
}

.category-chip--active:not(:disabled):hover {
  border-color: #111;
  color: #fff;
  background: #111;
}

.browse-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.browse-actions button {
  min-height: 2.65rem;
  padding: 0.6rem 1rem;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: var(--kaone-color-action);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.browse-actions button:not(:disabled):hover {
  background: var(--kaone-color-action-hover);
}

.browse-actions button:disabled {
  cursor: not-allowed;
}

.active-filters {
  min-height: 2.2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
  margin-bottom: 0.75rem;
  color: var(--kaone-color-text-muted);
  font-size: 0.8rem;
}

.active-filters span {
  padding: 0.4rem 0.6rem;
  border: 1px solid var(--kaone-color-border);
  border-radius: 999px;
  background: #fbfaf7;
}

.fee-catalogue {
  display: grid;
}

.fee-family {
  border-top: 1px solid var(--kaone-color-border);
}

.fee-family__heading {
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr) auto;
  gap: 0.85rem;
  align-items: baseline;
  padding: 1.35rem 0;
}

.fee-family__number {
  color: var(--kaone-color-accent);
  font-weight: 900;
}

.fee-family__title {
  color: var(--kaone-color-text);
  font-size: 1.55rem;
  font-weight: 800;
}

.fee-family__count {
  color: var(--kaone-color-text-muted);
  font-size: 0.85rem;
}

.fee-family__rows {
  padding-left: 3.45rem;
}

.fee-row {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(7rem, 0.55fr) minmax(10rem, 0.8fr);
  gap: 1.25rem;
  padding: 1rem 0;
  border-top: 1px solid #ece6da;
}

.fee-row__identity > span {
  display: block;
  margin-top: 0.2rem;
  color: var(--kaone-color-text-muted);
  font-size: 0.85rem;
}

.fee-row__amount,
.fee-row__source {
  text-align: right;
}

.fee-row__source {
  justify-items: end;
}

@media (max-width: 56rem) {
  .fees-home,
  .home-process {
    grid-template-columns: 1fr;
  }

  .fees-home {
    min-height: auto;
  }

  .context-links {
    grid-template-columns: 1fr;
  }

  .context-links article,
  .context-links article:first-child,
  .context-links article:last-child {
    padding: 2.125rem 1.125rem;
    border-right: 0;
    border-bottom: 1px solid var(--kaone-color-border);
  }

  .browse-tools {
    grid-template-columns: minmax(0, 1fr) 12rem;
  }

  .more-filters {
    grid-column: 1 / -1;
  }

  .more-filters__panel {
    left: 0;
    right: auto;
  }
}

@media (max-width: 40rem) {
  .browse-tools {
    grid-template-columns: 1fr;
  }

  .more-filters {
    grid-column: auto;
  }

  .more-filters__panel {
    position: static;
    width: 100%;
    grid-template-columns: 1fr;
    margin-top: 0.6rem;
    box-shadow: none;
  }

  .fee-family__rows {
    padding-left: 0;
  }

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

  .fee-row__source {
    grid-column: 1 / -1;
    justify-items: start;
    text-align: left;
  }
}

.support-layout {
  width: min(100% - 2.25rem, 72rem);
  margin: 0 auto clamp(4rem, 8vw, 6rem);
  display: grid;
  grid-template-columns: minmax(14rem, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(2.5rem, 7vw, 4.75rem);
  align-items: start;
}

.support-aside {
  color: var(--kaone-color-text-muted);
  line-height: 1.6;
}

.support-aside h2 {
  margin: 0 0 0.7rem;
  color: var(--kaone-color-text);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  letter-spacing: -0.035em;
}

.support-aside p {
  margin-top: 0;
}

.support-list {
  display: grid;
}

.support-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(10rem, auto);
  gap: 2rem;
  padding: 1.3rem 0;
  border-top: 1px solid var(--kaone-color-border);
}

.support-row h3 {
  margin: 0.3rem 0 0.7rem;
  font-size: 1.15rem;
  line-height: 1.4;
}

.support-row__source {
  justify-items: end;
  text-align: right;
}

.support-example {
  border-top: 1px solid var(--kaone-color-border);
}

.support-example summary {
  padding: 1.25rem 0;
  cursor: pointer;
  list-style-position: outside;
}

.support-example summary > span {
  display: inline-flex;
  flex-direction: column;
  gap: 0.3rem;
  margin-left: 0.35rem;
}

.support-example summary strong {
  font-size: clamp(1.2rem, 2vw, 1.5rem);
}

.support-example summary small {
  color: var(--kaone-color-text-muted);
}

.support-example__body {
  padding: 0 0 2rem 1.5rem;
}

.support-example__body h2 {
  margin-top: 1.8rem;
  font-size: 1rem;
}

.support-example__body > .evidence-note {
  width: auto;
  margin: 1.8rem 0 0;
}

@media (max-width: 52rem) {
  .support-layout {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .support-row {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .support-row__source {
    justify-items: start;
    text-align: left;
  }

  .support-example__body {
    padding-left: 0;
  }
}


/* U3 — v3 uses a softer editorial neutral system inside the Fees content area. */
#main-content {
  --kaone-color-text-muted: #675f56;
  --kaone-color-border: #ddd6c8;
}

.start-panel .button-link {
  min-height: 3.5rem;
}

.start-panel__secondary {
  color: #633019;
  font-weight: 800;
  text-decoration: none;
}

.start-panel__secondary:hover {
  color: var(--kaone-color-action-hover);
  text-decoration: underline;
  text-underline-offset: 0.22rem;
}

/* U3 — useful faceted Browse, preserving the revised v3 hierarchy. */
.browse-tools {
  grid-template-columns: minmax(0, 1fr) 13.75rem;
}

.browse-facet-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.125rem 1.375rem;
  padding: 1.35rem 0 0.65rem;
}

.browse-facet-grid label {
  display: grid;
  gap: 0.45rem;
  color: #4b433a;
  font-size: 0.75rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.browse-facet-grid select {
  width: 100%;
  min-height: 3rem;
  border: 0;
  border-bottom: 1px solid #938979;
  border-radius: 0;
  color: var(--kaone-color-text);
  background: transparent;
  font: inherit;
  font-weight: 500;
  letter-spacing: normal;
  text-transform: none;
}

.browse-subtools {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 0.65rem 0 0.2rem;
}

.browse-subtools > p {
  max-width: 43rem;
  margin: 0.65rem 0 0;
  color: var(--kaone-color-text-muted);
  font-size: 0.8rem;
  line-height: 1.5;
}

.browse-subtools .more-filters {
  flex: 0 0 auto;
}

.browse-subtools .more-filters__panel {
  width: min(52rem, calc(100vw - 2.25rem));
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.filter-count {
  display: inline-grid;
  place-items: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 0.35rem;
  border-radius: 999px;
  color: #fff;
  background: var(--kaone-color-action);
  font-size: 0.68rem;
}

.category-rail {
  padding-top: 1.1rem;
}

.category-chip {
  min-height: auto;
  padding: 0.62rem 0.85rem;
}

.category-chip:disabled {
  opacity: 0.38;
  cursor: not-allowed;
}

.category-chip:disabled:hover {
  border-color: var(--kaone-color-border);
  color: #493f35;
  background: var(--kaone-color-page);
}

.browse-actions {
  justify-content: space-between;
  min-height: 2.7rem;
  padding: 0.15rem 0 0.65rem;
}

.has-js .browse-submit-fallback {
  display: none;
}

.active-filters button,
.active-filters span {
  min-height: 2rem;
  padding: 0.4rem 0.6rem;
  border: 1px solid var(--kaone-color-border);
  border-radius: 999px;
  color: #3f372f;
  background: #fbfaf7;
  font: inherit;
  font-size: inherit;
}

.active-filters button {
  cursor: pointer;
}

.active-filters button:hover {
  border-color: var(--kaone-color-action);
  color: var(--kaone-color-action-hover);
  background: var(--kaone-color-highlight);
}

.clear-filters {
  margin-left: 0.15rem;
  color: var(--kaone-color-action);
  font-weight: 800;
}

.fee-family > summary {
  cursor: pointer;
  list-style: none;
}

.fee-family > summary::-webkit-details-marker {
  display: none;
}

.fee-family__heading {
  width: 100%;
}

.fee-family__heading::after {
  content: "+";
  margin-left: 0.5rem;
  color: var(--kaone-color-text-muted);
  font-size: 1.2rem;
}

.fee-family[open] > .fee-family__heading::after {
  content: "−";
}

@media (max-width: 56rem) {
  .browse-facet-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .browse-subtools .more-filters__panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 40rem) {
  .browse-facet-grid,
  .browse-subtools .more-filters__panel {
    grid-template-columns: 1fr;
  }

  .browse-subtools {
    display: block;
  }

  .browse-subtools .more-filters {
    position: static;
    margin-top: 0.75rem;
  }

  .browse-subtools .more-filters__panel {
    position: static;
    width: 100%;
    margin-top: 0.6rem;
    box-shadow: none;
  }
}


/* U3C Sentinel remediation — v3 lightweight link colour and hover treatment. */
.home-process__steps article {
  padding: 20px 0;
}

.home-process__steps a,
.context-links .text-link {
  color: #633019;
  font-weight: 800;
  text-decoration: none;
}

.home-process__steps a:hover,
.context-links .text-link:hover {
  color: var(--kaone-color-action-hover);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.context-links h2 {
  font-size: 1.55rem;
}

.context-links p {
  margin: 0 0 18px;
}
