.brand { text-decoration: none; color: var(--text); }
.sop-actions { display: flex; flex-wrap: wrap; gap: 20px; }
.sop-actions a { text-decoration: none; }
.sop-actions [aria-current] { color: var(--accent-2); }
.sop-layout { max-width: 1380px; margin: 0 auto; padding: 40px 28px; display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 48px; align-items: start; }
.sop-eyebrow { color: var(--accent-2); font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.sop-contents { position: sticky; top: 90px; max-height: calc(100vh - 110px); overflow-y: auto; }
.sop-contents h2 { font-size: 18px; }
.sop-contents ol { list-style: none; padding: 0; }
.sop-contents li { margin: 0 0 13px; line-height: 1.5; }
.sop-contents a { color: var(--muted); text-decoration: none; }
.sop-contents a:hover { color: var(--text); }
.sop-document { min-width: 0; padding: 30px 38px; background: var(--panel); border: 1px solid var(--line); border-radius: 16px; font-size: 16px; line-height: 1.75; overflow-wrap: anywhere; }
.sop-document h1 { font-size: clamp(28px, 4vw, 40px); line-height: 1.2; margin: 16px 0 24px; }
.sop-document h2 { font-size: 23px; line-height: 1.35; border-top: 1px solid var(--line); padding-top: 28px; margin-top: 36px; scroll-margin-top: 100px; }
.sop-document li { margin-bottom: 12px; }
.sop-document ul, .sop-document ol { padding-left: 24px; }
.sop-document a { text-underline-offset: 3px; }
a:focus-visible { outline: 2px solid var(--accent-2); outline-offset: 4px; }
@media (max-width: 850px) {
  .sop-layout { grid-template-columns: 1fr; padding: 24px 16px; gap: 20px; }
  .sop-contents { position: static; max-height: none; }
  .sop-document { padding: 24px 20px; }
}
@media print {
  .topbar, .sop-contents, .sop-eyebrow { display: none; }
  .sop-layout { display: block; padding: 0; }
  .sop-document { color: black; background: white; border: 0; padding: 0; font-size: 11pt; }
  .sop-document a { color: black; }
}
