:root { color-scheme: light; font-family: Manrope, Arial, sans-serif; color: #24334b; background: #f5f6fa; font-synthesis: none; line-height: 1.7; }
* { box-sizing: border-box; }
body { margin: 0; }
a { color: #345bbc; text-underline-offset: 4px; }
a:focus-visible, summary:focus-visible { outline: 2px solid #456bd0; outline-offset: 5px; border-radius: 2px; }
.skip { position: fixed; top: 12px; left: 20px; z-index: 2; padding: 10px 16px; background: white; transform: translateY(-200%); }
.skip:focus { transform: none; }
header { display: flex; align-items: center; justify-content: space-between; gap: 24px; background: #111d2c; padding: 26px max(5%, calc((100vw - 1280px) / 2)); color: white; }
header a { color: inherit; text-decoration: none; }
.brand { display: inline-flex; align-items: center; gap: 12px; font-size: 28px; font-weight: 700; letter-spacing: -.055em; }
.brand span { width: 27px; height: 29px; background: currentColor; clip-path: polygon(0 0,35% 0,35% 70%,0 100%,0 0,45% 0,70% 0,70% 70%,45% 92%,45% 0,80% 0,100% 0,100% 58%,80% 75%); }
.return { font-size: 13px; }
.return:hover { text-decoration: underline; }
main { max-width: 1280px; margin: auto; padding: 64px 5% 80px; }
.document-heading { margin: 0 0 44px; }
.label { font-size: 12px; color: #637089; margin: 0 0 18px; }
h1 { font-size: clamp(32px, 4vw, 54px); letter-spacing: -.05em; line-height: 1.13; font-weight: 600; margin: 0 0 26px; max-width: 22ch; }
.download { display: inline-flex; padding: 12px 18px; border: 1px solid #d4dce9; border-radius: 10px; font-size: 13px; text-decoration: none; }
.download:hover { background: #e9eef9; }
.document-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 48px; align-items: start; }
aside { position: sticky; top: 24px; }
nav { display: grid; gap: 10px; border-bottom: 1px solid #dce2ec; padding-bottom: 24px; }
nav a { display: block; padding: 8px 12px; border-radius: 8px; font-size: 13px; line-height: 1.6; color: #53627a; text-decoration: none; }
nav a:hover { background: #e9eef9; }
nav [aria-current="page"] { background: #e7edfa; color: #2c53b4; }
.contents { margin-top: 20px; font-size: 12px; }
summary { cursor: pointer; }
.contents ol { list-style: none; padding: 0; display: grid; gap: 12px; max-height: 55vh; overflow-y: auto; }
.contents a { color: #637089; text-decoration: none; }
.contents a:hover { color: #345bbc; text-decoration: underline; }
article { padding: 38px 42px; border: 1px solid #e0e5ed; background: white; border-radius: 18px; font-size: 15px; overflow-wrap: anywhere; }
article > :first-child { margin-top: 0; color: #637089; font-size: 13px; }
h2 { font-size: 24px; line-height: 1.3; letter-spacing: -.025em; margin: 40px 0 18px; scroll-margin-top: 24px; }
h3 { font-size: 18px; line-height: 1.45; margin: 30px 0 16px; scroll-margin-top: 24px; }
p { margin: 16px 0; }
li + li { margin-top: 10px; }
article ul, article ol { padding-left: 22px; }
footer { display: flex; flex-wrap: wrap; gap: 18px 30px; padding: 28px 5%; border-top: 1px solid #dce2ec; font-size: 12px; }
footer a { color: #637089; text-decoration: none; }
@media (max-width: 850px) {
  main { padding-top: 36px; }
  .document-layout { grid-template-columns: 1fr; gap: 28px; }
  aside { position: static; }
  nav { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 16px; }
  nav a { padding: 8px; font-size: 12px; }
  .contents { margin-top: 14px; }
  article { padding: 26px; }
}
@media (max-width: 500px) {
  header { align-items: flex-start; padding: 22px 5%; gap: 16px; }
  .brand { font-size: 24px; }
  .return { font-size: 11px; max-width: 11ch; text-align: right; }
  article { padding: 24px 20px; font-size: 14px; }
  h2 { font-size: 21px; }
  h1 { overflow-wrap: anywhere; }
  main { padding-inline: 4%; }
  .document-heading { margin-bottom: 28px; }
}
@media print {
  :root { background: white; color: black; }
  header, aside, footer, .download, .skip, .label { display: none; }
  main { max-width: none; padding: 0; }
  .document-layout { display: block; }
  article { border: 0; padding: 0; border-radius: 0; font-size: 11pt; }
  h1 { font-size: 24pt; max-width: none; }
  h2 { break-after: avoid; font-size: 15pt; }
  h3 { break-after: avoid; font-size: 12pt; }
  p, li { orphans: 3; widows: 3; }
  a { color: inherit; }
}
