/* Shared accessibility improvements for every public page. */
html { scroll-padding-top: 92px; }

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1000;
  padding: 12px 16px;
  border-radius: 10px;
  background: var(--lime);
  color: var(--green);
  font-weight: 900;
  transform: translateY(-160%);
  transition: transform .16s ease;
}

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

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--white);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px var(--green);
}

.form-card input:focus-visible,
.form-card select:focus-visible,
.form-card textarea:focus-visible,
.price-btn:focus-visible,
.btn-dark:focus-visible,
.btn-outline:focus-visible {
  outline-color: var(--green);
  box-shadow: 0 0 0 4px rgba(18, 55, 42, .18);
}

.nav-links {
  color: rgba(255, 255, 255, .88);
  font-size: 14px;
}

.nav-links a[aria-current="page"] {
  color: var(--white);
  text-decoration: underline;
  text-decoration-color: var(--lime);
  text-decoration-thickness: 3px;
  text-underline-offset: 7px;
}

.eyebrow,
.kicker,
.proof-item span,
.chain-node small,
.story-box .number,
.support-card .tag,
.system-row strong,
.card .tag,
.timeline-card strong,
.process-row strong,
.workshop-card .audience {
  font-size: 13px;
}

.os-dot,
.os-step strong,
.lane-top,
.scatter .chip,
.audience-row span {
  font-size: 14px;
}

.nav-links a:focus-visible {
  color: var(--white);
  outline: 3px solid var(--lime);
  outline-offset: 3px;
}

.hero p,
.page-hero p,
.assessment p,
.legacy p,
.books-callout p,
.dark .section-head p,
.dark p,
.form-section > .shell > div > p,
.ffo-story .section-head p {
  color: rgba(255, 255, 255, .84);
}

.field label {
  color: #484E4A;
  font-size: 14px;
  letter-spacing: .07em;
}

.field input,
.field textarea,
.field select {
  min-height: 48px;
  border: 2px solid #747A76;
  color: var(--black);
}

.field textarea { min-height: 120px; }

.form-section .form-card .challenge-access-note {
  color: #3D433F;
  font-size: 16px;
}

.form-section .form-card .challenge-access-note strong { color: var(--green); }

.btn,
.price-btn,
.mobile-menu-toggle {
  min-height: 44px;
}

.price-btn,
.footer-inner { font-size: 14px; }

footer { color: rgba(255, 255, 255, .84); }

[data-form-status]:not(:empty) {
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .82);
  color: #7A211B;
}

@media (max-width: 1040px) {
  .nav-links a:focus-visible,
  .nav-links a:not(.nav-cta):focus-visible {
    color: var(--white);
    outline: 3px solid var(--lime);
    outline-offset: -2px;
  }
}

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

@media (forced-colors: active) {
  .btn,
  .price-btn,
  .mobile-menu-toggle,
  .field input,
  .field textarea,
  .field select { border: 2px solid ButtonText; }
}
