@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');

/* One header system for Home, AI, Websites, and Contact. */
.skip-link{position:absolute;z-index:999;top:-5rem;left:1rem;padding:.7rem 1rem;border-radius:.5rem;background:#fff;color:#042953;text-decoration:none}
.skip-link:focus{top:1rem}
.onyx-shared-header{position:relative;z-index:100;flex:none;background:#fefefe;color:#042953;border-bottom:1px solid #d7e5f0;font-family:'DM Sans',sans-serif}
.onyx-shared-header.site-header--persistent{position:sticky;top:0}
.onyx-shared-header *{box-sizing:border-box}
.onyx-shared-header a{text-decoration:none}
.onyx-shared-header button{font:inherit;cursor:pointer}
.onyx-shared-header .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;width:min(calc(100% - 2.5rem),76rem);min-height:5.3rem;margin-inline:auto;padding:0}
.onyx-shared-header .logo{display:block;width:7.5rem;line-height:0}
.onyx-shared-header .logo img{display:block;width:100%;height:auto;max-width:100%}
.onyx-shared-header .header-controls{display:flex;align-items:center;justify-self:end;gap:.6rem}
.onyx-shared-header .lang-toggle{display:flex;align-items:center;justify-content:center;min-width:3.25rem;min-height:2.8rem;padding:.5rem;border:1px solid #d7e5f0;border-radius:.55rem;background:#fff;color:#042953;font-size:.78rem;font-weight:800}
.onyx-shared-header .menu-toggle{display:grid;place-items:center;width:3rem;height:3rem;padding:0;border:1px solid #d7e5f0;border-radius:.55rem;background:#fff;color:#042953}
.onyx-shared-header .menu-toggle span,.onyx-shared-header .menu-toggle span::before,.onyx-shared-header .menu-toggle span::after{display:block;width:1.25rem;height:2px;background:currentColor;position:relative;content:''}
.onyx-shared-header .menu-toggle span::before{position:absolute;top:-.38rem}
.onyx-shared-header .menu-toggle span::after{position:absolute;top:.38rem}
.onyx-shared-header .site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:1rem 1.25rem 1.4rem;background:#fff;border-bottom:1px solid #d7e5f0;box-shadow:0 1rem 1.6rem #052d4c16}
.onyx-shared-header .site-nav.is-open{display:grid;gap:.15rem}
.onyx-shared-header .site-nav a:not(.btn){display:flex;align-items:center;min-height:3rem;padding:.55rem .25rem;color:#042953;font-size:.93rem;font-weight:700}
.onyx-shared-header .site-nav a[aria-current=page]{color:#0062d6}
.onyx-shared-header .btn{display:inline-flex;justify-content:center;align-items:center;gap:.65rem;min-height:3.25rem;padding:.8rem 1.2rem;border:1px solid transparent;border-radius:.6rem;background:#0062d6;color:#fff;font-size:.94rem;font-weight:700;line-height:1.2;white-space:normal;transition:transform .2s,background .2s,box-shadow .2s}
.onyx-shared-header .btn:hover{transform:translateY(-2px);background:#004ba7;box-shadow:0 .65rem 1.6rem #00274d2b;filter:none}
.onyx-shared-header .site-nav .btn{margin-top:.4rem}
.onyx-shared-header .header-controls .header-cta{display:none}
.onyx-shared-header :focus-visible{outline:3px solid #44adfe;outline-offset:3px}
@media (min-width:48rem){.onyx-shared-header .header-inner{width:min(calc(100% - 4rem),76rem)}}
@media (min-width:64rem){
  .onyx-shared-header .header-inner{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:clamp(.8rem,2vw,2rem);min-height:5.4rem}
  .onyx-shared-header .logo{grid-column:1;grid-row:1;width:8.25rem}
  .onyx-shared-header .menu-toggle{display:none}
  .onyx-shared-header .site-nav,.onyx-shared-header .site-nav.is-open{position:static;grid-column:2;grid-row:1;display:flex;align-items:center;justify-self:center;gap:clamp(.7rem,1.3vw,1.25rem);padding:0;border:0;box-shadow:none}
  .onyx-shared-header .site-nav a:not(.btn){min-height:3rem;padding:0;font-size:.84rem;white-space:nowrap}
  .onyx-shared-header .site-nav .nav-mobile-cta{display:none}
  .onyx-shared-header .header-controls{grid-column:3;grid-row:1}
  .onyx-shared-header .header-controls .header-cta{display:inline-flex;min-height:2.9rem;padding:.65rem .9rem;font-size:.84rem;white-space:nowrap}
}
@media (prefers-reduced-motion:reduce){.onyx-shared-header .btn{transition:none}}
