body {
  margin: 0;
}

/* Hidden local SVG sprite for <use href="#..."> icons */
.svg-sprite {
  height: 0;
  overflow: hidden;
  position: absolute;
  width: 0;
}

.icon {
  color: var(--color-foreground-accent);
  flex-shrink: 0;
}

.icon--panel {
  height: 1.75rem;
  margin-top: 0.15em;
  width: 1.75rem;
}

.icon--section {
  height: 1.75rem;
  width: 1.75rem;
}

.icon--sub {
  height: 1.25rem;
  width: 1.25rem;
}

.brand-bar {
  background: linear-gradient(
    90deg,
    var(--color-brand-2) 0%,
    var(--color-brand-1) 34%,
    var(--color-brand-3) 66%,
    var(--color-brand-4) 100%
  );
  height: 4px;
  width: 100%;
}

.page-shell {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  width: 80%;
}

.page-hero-wrap {
  position: relative;
  width: 100%;
}

.page-hero__img {
  display: block;
  height: auto;
  vertical-align: middle;
  width: 100%;
}

.theme-toggle {
  align-items: center;
  background: var(--color-background-elevated);
  border: solid var(--border-width-medium) var(--color-border-medium);
  border-radius: var(--border-radius-50);
  box-sizing: border-box;
  color: var(--color-foreground-primary);
  cursor: pointer;
  display: inline-flex;
  height: 44px;
  justify-content: center;
  padding: 0;
  position: absolute;
  right: var(--spacing-200);
  top: var(--spacing-200);
  width: 44px;
}

.theme-toggle:hover {
  background: var(--color-background-secondary);
  border-color: var(--color-brand-1);
}

.theme-toggle:focus {
  outline: none;
}

.theme-toggle:focus-visible {
  outline-offset: var(--spacing-25);
  outline-style: solid;
  outline-width: var(--spacing-25);
}

.theme-toggle__icon {
  height: 22px;
  width: 22px;
}

.theme-toggle__icon--sun {
  display: none;
}

.theme-toggle__icon--moon {
  display: none;
}

html[data-theme="dark"] .theme-toggle__icon--sun {
  display: block;
}

html[data-theme="dark"] .theme-toggle__icon--moon {
  display: none;
}

html[data-theme="light"] .theme-toggle__icon--sun {
  display: none;
}

html[data-theme="light"] .theme-toggle__icon--moon {
  display: block;
}

.page {
  border-top: 3px solid var(--color-brand-1);
  box-sizing: border-box;
  margin: 0;
  max-width: none;
  padding: var(--spacing-300) var(--spacing-200) var(--spacing-600);
  width: 100%;
}

.page-intro {
  margin-bottom: var(--spacing-400);
}

.page-intro p {
  margin: 0 0 var(--spacing-200);
}

.page-intro p:last-child {
  margin-bottom: 0;
}

.lede {
  font-size: var(--font-size-medium);
  line-height: var(--font-line-height-default);
}

/* Light gray rounded panels (works in light/dark via Skin tokens) */
.topics-nav,
.resource-section,
.section-panel {
  background: var(--color-background-secondary);
  border: solid var(--border-width-medium) var(--color-border-subtle);
  border-radius: var(--border-radius-100);
  box-sizing: border-box;
  margin-bottom: var(--spacing-300);
  padding: var(--spacing-300);
}

.section-panel__row {
  align-items: flex-start;
  display: flex;
  gap: var(--spacing-200);
}

.section-panel__copy {
  margin: 0;
}

main .resource-section:last-of-type {
  margin-bottom: 0;
}

.topics-nav__title {
  color: var(--color-foreground-accent);
  margin: 0 0 var(--spacing-200);
}

.topics-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.topics-nav li {
  margin-bottom: var(--spacing-100);
}

.topics-nav li:last-child {
  margin-bottom: 0;
}

.topics-nav a {
  text-decoration: underline;
}

.resource-section__title {
  align-items: center;
  display: flex;
  gap: var(--spacing-150);
  margin: 0 0 var(--spacing-200);
}

.resource-section__title-text {
  border-inline-start: 3px solid var(--color-brand-2);
  padding-inline-start: var(--spacing-200);
}

.resource-section h3 {
  margin: var(--spacing-400) 0 var(--spacing-150);
}

.resource-section h2 + h3 {
  margin-top: var(--spacing-200);
}

.resource-section__subhead {
  align-items: flex-start;
  display: flex;
  gap: var(--spacing-150);
}

.resource-section__subhead .icon {
  margin-top: 0.2em;
}

.resource-section p {
  margin: 0 0 var(--spacing-200);
}

.resource-section p:last-child {
  margin-bottom: 0;
}

.content-list {
  margin: 0 0 var(--spacing-300);
  padding-left: var(--spacing-400);
}

.content-list li {
  margin-bottom: var(--spacing-100);
}

.content-list li:last-child {
  margin-bottom: 0;
}

.contact-block {
  margin: var(--spacing-200) 0 var(--spacing-300);
  padding-left: var(--spacing-300);
}

.contact-block p {
  margin: 0 0 var(--spacing-50);
}

.pay-records {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-150);
  list-style: none;
  margin: var(--spacing-200) 0 var(--spacing-300);
  padding: 0;
}

.pay-records a {
  text-decoration: underline;
}
