/* One navigation system across the service pages, portfolio and guides. */
header nav.wrap { height:auto; min-height:82px; padding-block:1rem; }
header .nav-links { flex-wrap:wrap; gap:.7rem 1.2rem; }
header .nav-links a { white-space:nowrap; }
header .brand { flex-shrink:0; }
header .nav-toggle, header .nav-links a.mobile-only { display:none; }
header .nav-toggle[hidden], header .nav-links[hidden] { display:none; }
.skip:focus { z-index:100; }
@media(max-width:1100px) {
  body > header { position:sticky; top:0; z-index:60; background:var(--paper,#f6f1e7); }
  header nav.wrap { display:flex; align-items:center; flex-wrap:wrap; min-height:74px; gap:0 1rem; padding-block:.75rem; }
  header .brand { flex:1 1 0; min-width:0; }
  header .brand strong { font-size:1.4rem; }
  header .brand span { display:none; }
  header .nav-toggle:not([hidden]) { display:inline-flex; align-items:center; justify-content:center; gap:.65rem; min-height:46px; padding:.6rem .9rem; border:1px solid var(--ink,#171717); border-radius:0; background:var(--blue,#2441c4); color:white; font:700 .875rem/1 var(--sans,Arial,sans-serif); cursor:pointer; }
  header .nav-toggle:focus-visible { outline:3px solid var(--blue,#2441c4); outline-offset:4px; }
  .nav-toggle-icon { position:relative; display:block; width:18px; height:14px; border-block:2px solid currentColor; }
  .nav-toggle-icon::before, .nav-toggle-icon::after { content:''; position:absolute; left:0; top:4px; width:18px; height:2px; background:currentColor; }
  .nav-toggle[aria-expanded="true"] .nav-toggle-icon { border-color:transparent; }
  .nav-toggle[aria-expanded="true"] .nav-toggle-icon::before { transform:rotate(45deg); }
  .nav-toggle[aria-expanded="true"] .nav-toggle-icon::after { transform:rotate(-45deg); }
  header .nav-links { display:flex; flex:1 1 100%; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0; margin:1rem 0 0; padding-bottom:.5rem; font-size:1rem; }
  header .nav-links a:not(.button) { display:flex; align-items:center; min-height:48px; padding:.75rem .25rem; border-bottom:1px solid var(--line,#d4cdc2); font-size:1rem; white-space:normal; }
  header .nav-links a.button { display:flex; margin:.95rem .3rem .5rem 0; min-height:50px; white-space:normal; text-align:center; background:var(--blue,#2441c4); color:white; }
  header .nav-links a.button:hover { background:#19267b; }
  header nav[data-nav-ready] .nav-links { position:absolute; top:100%; left:0; right:0; margin:0; padding:.5rem max(20px,calc((100% - 1200px)/2)) 1.2rem; border-bottom:1px solid var(--ink,#171717); background:var(--paper,#f6f1e7); box-shadow:0 14px 20px #1717171c; max-height:65vh; max-height:calc(100dvh - 10rem); overflow-y:auto; overscroll-behavior:contain; }
  header nav[data-nav-ready] .nav-links[hidden] { display:none; }
  main [id], main[id] { scroll-margin-top:94px; }
}
@media print { body > header { display:none; } }
