/* ABZSECURE: licensed local fonts and shared accessibility refinements. */
@font-face{font-family:Inter;src:url('grc-templates/fonts/inter-latin-variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Space Grotesk';src:url('grc-templates/fonts/space-grotesk-latin-variable.woff2') format('woff2');font-weight:300 700;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('grc-templates/fonts/jetbrains-mono-latin-variable.woff2') format('woff2');font-weight:100 800;font-display:swap}
body{font-family:Inter,Arial,sans-serif}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.company-channels{padding-top:22px;padding-bottom:24px;border-top:1px solid rgba(86,138,220,.2);display:flex;align-items:center;justify-content:space-between;gap:14px 24px;flex-wrap:wrap}
.company-channels p{margin:0;color:var(--muted,#94a7c7);font-size:.85rem}
.company-channels nav{display:flex;flex-wrap:wrap;gap:4px 8px}
.company-channels nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;color:var(--text,#eaf1fc);border:1px solid rgba(86,138,220,.2);border-radius:8px;font-size:.85rem;text-decoration:none}
.company-channels nav a:hover{border-color:#5bd2ff;background:rgba(46,139,255,.1)}
.company-channels .company-email{display:inline-flex;align-items:center;min-height:44px;color:#5bd2ff;font-size:.85rem;overflow-wrap:anywhere}
@media(max-width:680px){.company-channels{align-items:flex-start;flex-direction:column}.company-channels nav{width:100%}}
h1,h2,h3,h4{font-family:'Space Grotesk',Arial,sans-serif}
.logo .site-lockup{display:block;width:210px;max-width:48vw;height:auto;object-fit:contain}
footer .logo .site-lockup{width:170px}
button,input,select,textarea{font:inherit}
a.btn,button.btn,input.btn,#cookie-banner button,.filter-btn{min-height:44px}
.share-btn{width:44px!important;height:44px!important;min-width:44px;min-height:44px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #5bd2ff;outline-offset:4px}
.skip-main{position:fixed;top:8px;left:8px;transform:translateY(-180%);z-index:10001;background:#eaf1fc;color:#05090f;padding:10px 16px;border-radius:8px}
.skip-main:focus{transform:none}
.grc-discovery{position:relative;z-index:1;margin:0 auto 48px;max-width:1160px;padding:28px;border:1px solid #29476a;border-radius:16px;background:#0b1526;display:flex;align-items:center;justify-content:space-between;gap:24px}
.grc-discovery h2{font-size:clamp(24px,3vw,34px);margin:6px 0 12px}
.grc-discovery p{color:#a2b4ce;max-width:650px}
.grc-discovery .btn{flex-shrink:0}
@media(max-width:680px){.grc-discovery{margin:0 20px 32px;padding:24px;flex-direction:column;align-items:flex-start}}
@media(max-width:680px){nav[aria-label="Main navigation"]>a>img{max-width:42vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}

/*
 * Shared primary-navigation contract.
 * The page-level polish layer historically styled every anchor in the header,
 * including social icons and the CTA. Keeping this override in the shared
 * stylesheet gives all content routes the same baseline and prevents competing
 * underline/padding rules from shifting individual controls out of line.
 */
html{scroll-padding-top:86px}
header.nav{isolation:isolate}
header.nav .nav-in{
  display:grid;
  grid-template-columns:minmax(190px,210px) minmax(0,1fr);
  column-gap:clamp(30px,3vw,60px);
  align-items:center;
  height:74px;
}
header.nav .logo{
  display:flex;
  align-items:center;
  justify-self:start;
  align-self:center;
  min-width:0;
  line-height:1;
}
header.nav .logo .site-lockup{width:210px;max-width:100%}
header.nav .nav-links{
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  gap:clamp(14px,1.35vw,26px);
  height:74px;
  min-width:0;
  margin-left:auto;
}
header.nav .nav-links>a:not(.btn),
header.nav .nav-links>.has-mega,
header.nav .nav-links>.has-mega>a{
  display:flex;
  align-items:center;
  height:74px;
  min-width:0;
  padding:0;
  line-height:1;
  white-space:nowrap;
}
header.nav .nav-links>.has-mega>a{position:relative}
header.nav .nav-links a::before{content:none!important;display:none!important}
header.nav .nav-links>a:not(.btn)::after,
header.nav .nav-links>.has-mega>a::after{
  content:"";
  position:absolute;
  right:auto;
  bottom:0;
  left:0;
  width:0;
  height:2px;
  border-radius:2px 2px 0 0;
  background:linear-gradient(90deg,var(--blue),var(--cyan));
  transition:width .25s cubic-bezier(.2,.7,.2,1);
}
header.nav .nav-links>a:not(.btn):hover::after,
header.nav .nav-links>a:not(.btn).active::after,
header.nav .nav-links>.has-mega:hover>a::after,
header.nav .nav-links>.has-mega>a.active::after{width:100%}
header.nav .nav-links .social{
  display:flex;
  align-items:center;
  align-self:stretch;
  gap:8px;
  height:74px;
  margin-left:2px;
}
header.nav .nav-links .social>a{
  display:grid;
  place-items:center;
  width:34px;
  height:44px;
  padding:0;
  border-radius:8px;
}
header.nav .nav-links .social>a:hover{background:rgba(46,139,255,.1)}
header.nav .nav-links .social>a::after,
header.nav .nav-links>.btn::after{content:none!important;display:none!important}
header.nav .nav-links>.btn{
  align-self:center;
  flex:0 0 auto;
  min-height:44px;
  margin-left:2px;
  padding:11px 18px;
  line-height:1.25;
  white-space:nowrap;
}
header.nav .nav-toggle{
  display:none;
  place-items:center;
  width:44px;
  height:44px;
  padding:0;
  line-height:1;
}

@media(min-width:1281px){
  header.nav .nav-links{
    display:flex!important;
    position:static!important;
    inset:auto!important;
    flex-direction:row!important;
    align-items:stretch!important;
    gap:clamp(14px,1.35vw,26px)!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }
}

@media(max-width:1280px){
  header.nav .nav-in{grid-template-columns:minmax(0,1fr) 44px;column-gap:20px}
  header.nav .logo .site-lockup{width:min(210px,48vw)}
  header.nav .nav-links{display:none;height:auto;margin:0;max-height:calc(100vh - 74px);overflow:auto}
  header.nav .nav-toggle{display:grid}
  header.nav .mega{display:none!important}
  header.nav .nav-links>a:not(.btn),
  header.nav .nav-links>.has-mega,
  header.nav .nav-links>.has-mega>a{
    width:100%;
    height:auto;
    min-height:44px;
  }
  header.nav .nav-links>a:not(.btn)::after,
  header.nav .nav-links>.has-mega>a::after{bottom:3px}
  header.nav .nav-links .social{align-self:auto;width:100%;height:44px;margin:0}
  header.nav .nav-links>.btn{align-self:stretch;width:100%;margin:2px 0 0}
}

@media(max-width:520px){
  header.nav .nav-in{padding-right:20px;padding-left:20px}
  header.nav .logo .site-lockup{width:min(190px,58vw)}
}
