.site-navigation { position:relative; display:flex; align-items:center; gap:24px; min-height:69px; padding:10px 3.1%; border-bottom:1px solid var(--ink); background:var(--paper); }
.site-navigation a { color:var(--ink); text-decoration:none; text-underline-offset:.2em; }
.site-navigation a:hover { text-decoration:underline; }
.site-navigation :is(a,button):focus-visible,.site-breadcrumbs a:focus-visible,.section-page a:focus-visible,.site-directory-footer a:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.site-navigation .site-brand { display:flex; align-items:center; gap:20px; flex:none; }
.site-brand img { width:26px; height:30px; display:block; }
.site-brand span { font:italic 700 30px/1 var(--f-inst); letter-spacing:.015em; }
.site-navigation .primary-navigation { margin-left:auto; display:flex; align-items:center; gap:24px; }
.site-navigation .navigation-group { position:relative; display:flex; align-items:center; }
.site-navigation .section-link,.site-navigation .source-link { font:600 18px/1.3 var(--f-inst); padding:12px 0; white-space:nowrap; }
.site-navigation .section-link[aria-current] { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:.4em; }
.site-navigation button { color:var(--ink); background:none; border:0; cursor:pointer; font:600 18px/1.3 var(--f-inst); }
.site-navigation .section-toggle { width:28px; height:44px; display:grid; place-items:center; padding:0; }
.section-toggle::before { content:""; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); }
.section-toggle[aria-expanded="true"]::before { transform:rotate(225deg); }
.site-navigation .section-disclosure { display:none; position:absolute; top:100%; right:0; min-width:260px; max-width:calc(100vw - 40px); z-index:60; border:1px solid var(--ink); background:var(--paper); padding:8px; }
.site-navigation .navigation-group.open > .section-disclosure { display:block; }
html:not(.nav-enhanced) .navigation-group:is(:hover,:focus-within) > .section-disclosure { display:block; }
.site-navigation .section-disclosure a { display:block; padding:12px; font:400 15px/1.4 var(--f-body); }
.site-navigation .section-disclosure a:hover { background:var(--accent-soft); text-decoration:underline; }
.site-navigation .section-disclosure a[aria-current="page"] { font-weight:700; }
.site-navigation .source-link { margin-left:4px; }
.site-navigation .navigation-action { flex:none; min-height:48px; padding:10px 26px; display:flex; align-items:center; justify-content:center; background:var(--accent); border:1px solid var(--accent); color:var(--on-accent); font:700 17px/1.3 var(--f-body); }
.site-navigation .navigation-action:hover { color:var(--paper); background:var(--ink); border-color:var(--ink); text-decoration:none; }
.site-navigation .navigation-mobile-toggle { display:none; min-height:44px; padding:8px 12px; border:1px solid var(--ink); }
html:not(.nav-enhanced) .site-navigation :is(.navigation-mobile-toggle,.section-toggle) { display:none; }
.site-breadcrumbs { margin:0 auto; max-width:1360px; padding:18px 32px; color:var(--muted); font:400 14px/1.5 var(--f-body); }
.site-breadcrumbs ol { display:flex; flex-wrap:wrap; gap:6px 12px; list-style:none; margin:0; padding:0; }
.site-breadcrumbs li:not(:first-child)::before { content:"/"; padding-right:12px; color:var(--line-strong); }
.site-breadcrumbs a { color:var(--ink); text-underline-offset:.2em; }
.site-directory-footer { display:flex; flex-wrap:wrap; gap:8px 24px; justify-content:center; margin:0 2.2%; padding:18px 0; font:400 14px/1.5 var(--f-body); }
.site-directory-footer a { color:var(--ink); text-underline-offset:.2em; }
.home .site-directory-footer { padding:0; min-height:21px; font-size:13px; }
.home .home-scope { padding-bottom:10px; }
.section-page { max-width:1280px; margin:0 auto; padding:20px 32px 64px; }
.section-page > header { border-bottom:1px solid var(--ink); padding-bottom:28px; margin-bottom:32px; }
.section-page h1 { font:700 clamp(42px,4.5vw,64px)/1.08 var(--f-inst); text-transform:none; letter-spacing:-.02em; margin-bottom:16px; }
.section-page .section-intro { font:400 20px/1.5 var(--f-body); max-width:72ch; }
.section-page .section-layout { display:grid; grid-template-columns:210px minmax(0,1fr); gap:48px; }
.section-page .section-local { align-self:start; padding-top:6px; }
.section-local a { display:block; color:var(--ink); font:400 15px/1.5 var(--f-body); padding:8px 0; text-underline-offset:.2em; }
.section-page .section-content { min-width:0; }
.section-page section { margin-bottom:40px; scroll-margin-top:24px; }
.section-page h2 { font:700 32px/1.2 var(--f-inst); text-transform:none; letter-spacing:normal; margin-bottom:12px; }
.section-page h3 { font:600 24px/1.25 var(--f-inst); text-transform:none; letter-spacing:normal; margin-bottom:6px; }
.section-page p { font:400 17px/1.55 var(--f-body); max-width:72ch; margin-bottom:12px; }
.section-page p:last-child { margin-bottom:0; }
.section-page a { color:var(--accent); text-underline-offset:.2em; }
.section-page .section-local a { color:var(--ink); }
.directory-list { margin:0; }
.directory-list > div { padding:14px 0; border-bottom:1px solid var(--line); }
.directory-list dt { font:600 24px/1.25 var(--f-inst); margin-bottom:5px; }
.directory-list dd { margin:0; font:400 16px/1.5 var(--f-body); max-width:72ch; }
.section-page .workflow-reading { margin:0; padding-left:28px; }
.workflow-reading li { padding:8px 0 12px 8px; font:400 17px/1.5 var(--f-body); }
.workflow-reading li::marker { font-weight:700; color:var(--brass-deep); }
.workflow-reading strong { display:block; font:600 24px/1.2 var(--f-inst); }
.section-page .hub-action { display:inline-flex; min-height:48px; align-items:center; padding:10px 24px; background:var(--accent); color:var(--on-accent); font:700 17px/1.3 var(--f-body); text-decoration:none; margin-top:18px; }
.section-page .hub-action:hover { background:var(--ink); color:var(--paper); }
.related-assurance { max-width:1280px; margin:24px auto; padding:0 32px; font:400 16px/1.5 var(--f-body); }
@media (max-width:1100px) {
 .site-navigation { flex-wrap:wrap; gap:12px; padding:12px 24px; }
 .site-navigation .site-brand { margin-right:auto; gap:12px; }
 .site-navigation .navigation-mobile-toggle { display:block; }
 .site-navigation .navigation-action { order:2; min-height:44px; padding:10px 18px; font-size:15px; }
 .site-navigation .navigation-mobile-toggle { order:3; }
 .site-navigation .primary-navigation { order:4; width:100%; margin:0; display:block; border-top:1px solid var(--line); padding-top:8px; }
 html.nav-enhanced .primary-navigation:not(.expanded) { display:none; }
 .site-navigation .navigation-group { display:flex; flex-wrap:wrap; }
 .site-navigation .section-link { flex:1; padding:12px 8px; white-space:normal; font-size:21px; }
 .site-navigation .section-toggle { width:44px; }
 .site-navigation .section-disclosure { position:static; width:100%; max-width:none; border:0; border-bottom:1px solid var(--line); padding:0 8px 8px; }
 .site-navigation .section-disclosure a { padding:10px 16px; }
 html:not(.nav-enhanced) .navigation-group > .section-disclosure { display:block; }
 .site-navigation .source-link { display:block; margin:0; padding:12px 8px; }
}
@media (max-width:600px) {
 .site-navigation { padding-inline:20px; }
 .site-brand span { font-size:26px; }
 .site-navigation .site-brand { gap:8px; }
 .site-navigation .navigation-action { padding:8px 12px; font-size:14px; }
 .site-navigation .navigation-mobile-toggle { padding:8px 10px; }
 .site-breadcrumbs { padding:16px 20px; font-size:13px; }
 .section-page { padding:12px 20px 36px; }
 .section-page > header { padding-bottom:22px; margin-bottom:24px; }
 .section-page .section-intro { font-size:18px; }
 .section-page .section-layout { grid-template-columns:1fr; gap:24px; }
 .section-page .section-local { display:flex; flex-wrap:wrap; gap:4px 20px; border-bottom:1px solid var(--line); padding-bottom:16px; }
 .section-page .section-local a { padding:6px 0; }
 .section-page h2 { font-size:29px; }
 .section-page p { font-size:16px; }
 .site-directory-footer { margin-inline:20px; justify-content:flex-start; }
}
@media (max-width:360px) { .site-navigation .navigation-action { order:5; width:100%; } html.nav-enhanced .site-navigation:not(.mobile-open) .navigation-action { display:none; } }
