:root {
  color: #172033;
  background: #f6f8fa;
  font-family: Inter, "Noto Sans SC", "Microsoft YaHei", sans-serif;
  line-height: 1.65;
}

* { box-sizing: border-box; }

body { margin: 0; }

a { color: #155e9c; text-underline-offset: 0.2em; }
a:hover { color: #0b4f82; }

.site-header,
.site-footer,
main { width: min(100% - 2rem, 70rem); margin-inline: auto; }

.site-header { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 5.25rem; border-bottom: 1px solid #d7dee6; }
.brand { color: #172033; font-weight: 750; text-decoration: none; }
.brand span { display: block; color: #526274; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.03em; }
.site-header nav,
.site-footer nav,
.legal-nav,
.not-found nav { display: flex; flex-wrap: wrap; gap: 1rem; }
.site-header nav a,
.site-footer a,
.legal-nav a { font-size: 0.94rem; }

.hero { padding-block: 5.5rem 4.5rem; max-width: 48rem; }
.hero img { max-width: 100%; height: auto; }
.eyebrow { margin: 0 0 0.55rem; color: #14755f; font-size: 0.82rem; font-weight: 750; letter-spacing: 0.08em; text-transform: uppercase; }
h1, h2, h3 { color: #172033; line-height: 1.2; }
h1 { margin: 0; font-size: clamp(2.25rem, 6vw, 4.5rem); letter-spacing: -0.04em; }
h2 { margin: 0; font-size: clamp(1.55rem, 3vw, 2.3rem); letter-spacing: -0.025em; }
h3 { margin: 0 0 0.6rem; font-size: 1.05rem; }
.lead { margin: 1.2rem 0; color: #243b53; font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.5; }
.status { display: inline-block; margin-top: 1rem; padding: 0.35rem 0.65rem; color: #125b4d; background: #e5f3ee; font-size: 0.9rem; font-weight: 700; }

.section { padding-block: 3.5rem; border-top: 1px solid #d7dee6; }
.section-heading { max-width: 45rem; margin-bottom: 1.75rem; }
.workflow-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid #d7dee6; background: #d7dee6; }
.workflow-grid article { padding: 1.5rem; background: #fff; }
.workflow-grid p { margin: 0; color: #526274; }
.note { max-width: 48rem; }
.note p { color: #314256; }

.legal-content { max-width: 48rem; padding-block: 3rem 5rem; }
.legal-nav { margin-bottom: 3rem; }
.legal-nav a[aria-current="page"] { color: #172033; font-weight: 750; }
.legal-content section { padding-top: 1.5rem; }
.legal-content section h2 { font-size: 1.3rem; }
.legal-content section p { color: #314256; }

.not-found { max-width: 48rem; padding-block: 7rem; }
.button { display: inline-block; padding: 0.6rem 0.85rem; border: 1px solid #9eacba; color: #172033; background: #fff; font-weight: 700; text-decoration: none; }
.button:hover { border-color: #155e9c; background: #edf5fb; }
.site-footer { display: flex; justify-content: space-between; gap: 1rem; padding-block: 1.75rem 2.5rem; border-top: 1px solid #d7dee6; color: #526274; font-size: 0.9rem; }
.site-footer p { margin: 0; }

@media (max-width: 42rem) {
  .site-header,
  .site-footer { align-items: flex-start; flex-direction: column; padding-block: 1.25rem; }
  .hero { padding-block: 3.75rem 3rem; }
  .workflow-grid { grid-template-columns: 1fr; }
  .not-found { padding-block: 4rem; }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto; } }
