* { box-sizing: border-box; }
body { margin: 0; background: #e9edeb; color: #14272f; font: 16px/1.7 Arial, "Microsoft YaHei", sans-serif; }
header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px max(24px, calc((100% - 960px) / 2)); background: #20282c; color: #eff7f5; }
header a { color: inherit; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; text-decoration: none; }
.brand img { flex-shrink: 0; }
.brand small { display: block; color: #a9c0c7; font-size: 12px; font-weight: 400; }
header nav, .contents { display: flex; flex-wrap: wrap; gap: 8px 16px; }
header nav { font-size: 14px; }
main { max-width: 960px; margin: 32px auto; padding: 0 24px; }
h1 { font-size: 30px; line-height: 1.3; text-wrap: balance; }
h2 { margin: 0 0 14px; font-size: 22px; line-height: 1.4; text-wrap: balance; }
h3 { margin: 24px 0 8px; font-size: 17px; }
p { text-wrap: pretty; }
.lead { color: #526a60; }
a { color: #17735e; text-underline-offset: 3px; }
a:focus-visible { outline: 2px solid #17735e; outline-offset: 4px; border-radius: 2px; }
header a:focus-visible { outline-color: #a1beb3; }
section { margin: 24px 0; padding: 24px; border: 1px solid #bac6c3; border-radius: 6px; background: #f7faf8; }
section > :last-child { margin-bottom: 0; }
li + li { margin-top: 8px; }
.document-types { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 0; }
dt { font-weight: 700; }
dd { margin: 4px 0 0; color: #526a60; }
footer { max-width: 960px; margin: 0 auto 32px; padding: 0 24px; font-size: 14px; }
.skip-link { position: absolute; top: 8px; left: 8px; transform: translateY(-160%); padding: 8px; background: #fff; color: #17735e; }
.skip-link:focus { transform: none; }
@media (max-width: 600px) {
  header { align-items: flex-start; flex-direction: column; padding: 16px; gap: 12px; }
  main { margin: 24px auto; padding: 0 16px; }
  h1 { font-size: 26px; }
  section { padding: 18px; }
  .document-types { grid-template-columns: 1fr; }
  footer { padding: 0 16px; }
}
