/* Shared publishing and accessibility corrections. Brand layouts stay in the templates. */
html { scroll-padding-top: 110px; }
[id] { scroll-margin-top: 110px; }
.sbh-skip { position:absolute;left:-10000px;top:0;z-index:1000;background:#1e3264;color:white;padding:14px 22px; }
.sbh-skip:focus { left:12px;top:12px; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible { outline:3px solid #8f6a26!important;outline-offset:4px!important; }
.svc-wrap:focus-within .svc-menu { opacity:1!important;visibility:visible!important;transform:translateX(-50%) translateY(0)!important; }
[data-reveal] { opacity:1!important; }
img { max-width:100%; }
button,input,select,textarea { font:inherit; }
button { touch-action:manipulation; }
button:disabled { cursor:wait!important;opacity:.65; }
input[type=checkbox],input[type=radio] { accent-color:#1e3264;min-width:20px;min-height:20px; }
[role=dialog] { overscroll-behavior:contain; }
.plancard h2 a { display:block;min-height:32px; }
@media(max-width:560px) {
  nav[data-nav] > a:first-child img { max-width:calc(100vw - 130px);object-fit:contain; }
  main h1 { overflow-wrap:break-word; }
  main input,main select,main textarea { font-size:16px!important; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  *,*::before,*::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
  [data-reveal] { transform:none!important; }
}

/* Keep the fixed navigation clear of every mobile/tablet hero. */
@media(max-width:900px) {
  header[data-sbh-hero] { padding-top:140px!important; }
  header[data-sbh-hero][style*="min-height"] { min-height:100svh!important; }
}

p a { text-decoration:underline!important;text-underline-offset:3px; }

label a, a[href^="mailto:"], a[href^="tel:"] { text-decoration:underline!important;text-underline-offset:3px; }
