/* Typewriter enhancement falls back to one stable label without JavaScript. */
body .site-header-inner { gap: 20px; }
body .site-header .header-contact-cta { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; min-height: 44px; padding: 0 16px; background: #0000ff; color: #fff; font: 600 11px/1.4 var(--sans); text-decoration: none; letter-spacing: .02em; }
body .site-header .header-contact-cta:hover { background: #0000cc; }
body .site-header .header-contact-cta:focus-visible { outline: 2px solid #0000ff; outline-offset: 4px; }
.header-cta-text { position: relative; display: block; width: 115px; height: 16px; overflow: hidden; }
.header-cta-text span { white-space: nowrap; }
.header-cta-text span:nth-child(n+2) { display: none; }
.header-cta-cursor { display: inline-block; width: 1px; height: 12px; background: currentColor; vertical-align: -2px; margin-left: 2px; }
.header-cta-cursor[hidden] { display: none; }
@media (max-width: 1100px) {
  body .site-header-inner { gap: 14px; }
  body .site-header .site-logo { margin-right: auto; }
  body .site-header .site-menu-toggle { display: block; order: 3; }
  body .site-header .site-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; padding: 24px 20px; background: #fff; border-bottom: 1px solid rgba(10,10,10,.2); flex-direction: column; align-items: flex-start; gap: 20px; font-size: 12px; max-height: calc(100dvh - 82px); overflow-y: auto; overscroll-behavior: contain; }
  body .site-header .site-nav.is-open { display: flex; }
}
@media (max-width: 500px) {
  body .site-header-inner { gap: 8px; }
  body .site-header .site-logo { font-size: 17px; }
  body .site-header .header-contact-cta { padding: 0 10px; font-size: 10px; gap: 4px; }
  .header-cta-text { width: 103px; height: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .header-cta-cursor { display: none; }
}
