/* OFB-F005 — design-system adoption and legacy normalization.
 * Loaded after page refinements so shared visual rules win while feature CSS
 * remains responsible for composition and signature product visuals.
 */

/* Typography: the public product uses one governed three-weight hierarchy. */
body,
p,
li,
input,
select,
textarea {
  font-weight: var(--font-weight-regular);
}

h1,
h2,
h3,
strong,
.site-header__brand,
.eyebrow,
.section-kicker,
.audit-board__label,
.resource-card__meta,
.form-field label,
.feature-card__number,
.audit-board__status,
.audit-board__identity strong {
  font-weight: var(--font-weight-bold);
}

.site-header__nav a,
button,
.button,
.btn,
.audit-board__mode,
.hero__trust,
.hero-audit-form__heading strong {
  font-weight: var(--font-weight-medium);
}

/* Shared shell */
.site-header {
  border-bottom-color: color-mix(in srgb, var(--border-default) 72%, transparent);
  background: color-mix(in srgb, var(--surface-panel) 92%, transparent);
}

.site-header__inner {
  min-height: 72px;
}

.site-header__brand-mark {
  border-color: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--surface-panel);
  box-shadow: var(--shadow-card);
}

.site-header__nav a {
  border-radius: var(--radius-sm);
  color: var(--text-secondary);
}

.site-header__nav a:hover,
.site-header__nav a[aria-current='page'] {
  background: var(--surface-panel-muted);
  color: var(--text-primary);
}

.site-header__nav .site-header__cta {
  background: var(--button-primary-bg);
  color: var(--button-primary-text);
}

.site-header__nav .site-header__cta:hover,
.site-header__nav .site-header__cta[aria-current='page'] {
  background: var(--button-primary-bg-hover);
  color: var(--button-primary-text);
}

main {
  max-width: var(--container-wide);
}

main > section + section {
  margin-top: var(--section-gap);
}

/* Reading hierarchy */
h1,
h2,
h3 {
  font-weight: var(--font-weight-bold);
}

p,
li {
  max-width: 70ch;
}

.lede,
.hero__lead,
.section-heading p {
  max-width: 64ch;
  color: var(--text-secondary);
}

.eyebrow,
.section-kicker,
.resource-card__meta,
.audit-board__label {
  letter-spacing: var(--tracking-label);
}

/* Shared surfaces */
.card,
.feature-card,
.resource-card,
.hero-audit-form,
.audit-start {
  border-color: var(--border-default);
  border-radius: var(--radius-card);
  background: var(--surface-panel);
  box-shadow: var(--shadow-card);
}

.feature-card,
.resource-card {
  transition:
    border-color var(--motion-duration-default) var(--motion-easing-standard),
    box-shadow var(--motion-duration-default) var(--motion-easing-standard),
    transform var(--motion-duration-default) var(--motion-easing-standard);
}

.feature-card:hover,
.resource-card:hover {
  transform: translateY(-1px);
  border-color: var(--border-emphasis);
  box-shadow: var(--shadow-card-hover);
}

.feature-card__number {
  border-radius: var(--radius-md);
  background: var(--surface-panel-muted);
  color: var(--text-primary);
}

.status-note,
.notice {
  border-radius: var(--radius-sm);
}

/* Forms and actions */
input,
select,
textarea {
  min-height: var(--control-height-md);
  border-color: var(--border-emphasis);
  border-radius: var(--radius-sm);
  background: var(--surface-panel);
  color: var(--text-primary);
}

button,
.button,
.btn {
  min-height: var(--control-height-md);
  border-radius: var(--radius-sm);
}

.form-field label {
  color: var(--text-primary);
  font-size: var(--type-scale-small);
}

.hero-audit-form {
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
}

.hero-audit-form__heading span,
.audit-start__note,
.hero__trust {
  color: var(--text-secondary);
}

/* Signature audit surface: preserve identity, normalize typography and shape. */
.audit-board {
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-popover);
}

.audit-board__mode,
.audit-board__status {
  border-radius: var(--radius-pill);
}

.audit-board__status {
  letter-spacing: var(--tracking-label);
}

/* Prevent decorative motion for users who request less motion. */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .feature-card,
  .resource-card,
  .feature-card:hover,
  .resource-card:hover {
    transform: none;
    transition: none;
  }
}
