/* Shared header, footer, mobile menu and accessibility helpers (loaded after each page's inline styles). */
.skipLink{position:absolute;left:12px;top:-80px;z-index:200;background:#0b1c31;color:#fff;padding:10px 16px;font-size:14px;font-weight:700;text-decoration:none;transition:top .15s}
.skipLink:focus{top:12px}
:focus-visible{outline:3px solid #14b8d4;outline-offset:3px}
main:focus{outline:none}

header.siteHeader{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid #dce5ee;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.siteHeader .shInner{min-height:72px;height:auto;display:flex;align-items:center;gap:26px;overflow:visible}
.siteHeader .shBrand{display:flex;align-items:center;flex:0 0 auto;min-width:210px;overflow:visible}
.siteHeader .shBrand img{display:block;width:210px;height:48px;max-width:none!important;object-fit:contain;object-position:left center;filter:none}
footer.siteFooter .sfBrand img{max-width:none!important;height:auto}
.priceIcon{display:grid!important;place-items:center!important;line-height:0}
.priceIcon svg{display:block;margin:0;flex:none}
.siteHeader .shNav{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:14px;font-weight:650;color:#34465d}
.siteHeader .shNav a{color:inherit;text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.siteHeader .shNav a:hover{color:#1667d9}
.siteHeader .shNav a[aria-current="page"]{color:#0b1c31;border-bottom-color:#14b8d4}
.siteHeader .shNav .shNavMobile{display:none}
.siteHeader .shActions{display:flex;gap:10px;flex:none}
.siteHeader .shBtn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid #dce5ee;background:#fff;color:#0b1c31;font-size:14px;font-weight:800;text-decoration:none;white-space:nowrap}
.siteHeader .shBtn.shPrimary{background:#0b1c31;border-color:#0b1c31;color:#fff}
.siteHeader .shToggle{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;padding:0;border:1px solid #dce5ee;background:transparent;cursor:pointer;flex:none}
.siteHeader .shToggle span{display:block;width:20px;height:2px;background:#0b1c31;transition:transform .2s,opacity .2s}
.siteHeader.open .shToggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.siteHeader.open .shToggle span:nth-child(2){opacity:0}
.siteHeader.open .shToggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

header.siteHeader.shDark{background:rgba(8,20,38,.97);border-bottom-color:rgba(255,255,255,.1)}
.shDark .shNav{color:#c2ccda}
.shDark .shNav a:hover,.shDark .shNav a[aria-current="page"]{color:#fff}
.shDark .shBtn{background:transparent;border-color:#52627a;color:#fff;border-radius:8px}
.shDark .shBtn.shPrimary{background:#fff;border-color:#fff;color:#0b1b31}
.shDark .shToggle{border-color:#52627a;border-radius:8px}
.shDark .shToggle span{background:#fff}

@media (max-width:1020px){
  .siteHeader .shInner{min-height:64px;gap:12px}
  .siteHeader .shBrand{min-width:168px}
  .siteHeader .shBrand img{width:168px;height:40px}
  .siteHeader .shActions{margin-left:auto}
  .siteHeader .shActions .shGhost{display:none}
  .siteHeader .shToggle{display:inline-flex}
  .siteHeader .shNav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:6px 20px 16px;background:#fff;border-bottom:1px solid #dce5ee;box-shadow:0 18px 30px rgba(11,28,49,.12);font-size:16px;max-height:calc(100vh - 64px);overflow-y:auto}
  .siteHeader.open .shNav{display:flex}
  .siteHeader .shNav a{padding:13px 0;border-bottom:1px solid #edf2f6}
  .siteHeader .shNav a[aria-current="page"]{border-bottom-color:#edf2f6;color:#1667d9}
  .siteHeader .shNav .shNavMobile{display:block}
  .shDark .shNav{background:#081426;border-bottom-color:rgba(255,255,255,.1)}
  .shDark .shNav a,.shDark .shNav a[aria-current="page"]{border-bottom-color:rgba(255,255,255,.08)}
  .shDark .shNav a[aria-current="page"]{color:#fff}
}
@media (max-width:400px){
  .siteHeader .shBrand{min-width:148px}
  .siteHeader .shBrand img{width:148px;height:36px}
  .siteHeader .shBtn{padding:0 12px}
}

/* Hero headshots — force square crop (HTML width/height=900 must not win) */
.teamPortrait,
.portraitRow,
.agentPortrait{
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  grid-template-columns:none!important
}
.teamPortrait img,
.portraitRow img,
.portraitRow img.agentPortrait,
.agentHero img,
.agentHero img.agentPortrait,
.agentPortrait img,
.solutionHero img,
.panel .agentPortrait img,
.portraitPlaceholder,
.avatarPlaceholder{
  display:block!important;
  width:96px!important;
  height:96px!important;
  max-width:96px!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  object-position:center top!important;
  border-radius:12px!important;
  background:#0a1628;
  flex:none!important
}
.visual,
.agentHero,
.solutionHero,
.panel{
  min-height:0!important
}
.agentCard .top img.avatar{
  width:54px;height:54px;border-radius:50%;object-fit:cover;object-position:center top;background:#eef3f8;flex:none
}

footer.siteFooter{background:#08182a;color:#92a4b9;padding:56px 0 28px;border-top:0;font-size:13px}
.siteFooter .sfGrid{display:grid;grid-template-columns:1.5fr repeat(5,1fr);gap:32px}
.siteFooter .sfBrand img{display:block;width:180px;height:auto;margin:0 0 14px;filter:brightness(0) invert(1)}
.siteFooter .sfBrand p{margin:0;max-width:300px;color:#92a4b9;font-size:13px;line-height:1.6}
.siteFooter .sfCol b{display:block;margin:0 0 12px;color:#fff;font-size:13px}
.siteFooter .sfCol a{display:block;margin:0 0 9px;color:#92a4b9;font-size:13px;text-decoration:none}
.siteFooter a:hover{color:#fff}
.siteFooter .sfBottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:40px;padding-top:22px;border-top:1px solid #1b2d45;font-size:12px}
.siteFooter .sfLegal{display:flex;flex-wrap:wrap;gap:8px 20px}
.siteFooter .sfLegal a{color:#92a4b9;text-decoration:none}
@media (max-width:1020px){
  .siteFooter .sfGrid{grid-template-columns:repeat(3,1fr)}
  .siteFooter .sfBrand{grid-column:1/-1}
}
@media (max-width:600px){
  .siteFooter .sfGrid{grid-template-columns:1fr 1fr;gap:26px 20px}
}

.linkGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:24px}
.linkGrid a{display:block;padding:16px 18px;border:1px solid #dce5ee;background:#fff;color:#0b1c31;font-size:14px;font-weight:800;text-decoration:none}
.linkGrid a span{display:block;margin-top:4px;color:#66758a;font-size:12px;font-weight:500}
.linkGrid a:hover{border-color:#14b8d4}

/* Injected SEOAgentra icons for text-only team/resource/product cards */
.seoIcon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  margin:0 0 12px;
  border:1px solid #dce5ee;
  background:#f5f8fb;
  color:#0e9fbb;
  flex:none
}
.seoIcon svg{width:20px;height:20px;display:block}
a.teamLink.hasSeoIcon,
a.linkGrid.hasSeoIcon,
.linkGrid > a.hasSeoIcon{
  display:flex;
  flex-direction:column;
  align-items:flex-start
}
a.teamLink.hasSeoIcon .seoIcon{
  margin-bottom:14px
}
.grid3 > .card.hasSeoIcon,
.grid2 > .card.hasSeoIcon,
.mini > div.hasSeoIcon{
  display:flex;
  flex-direction:column
}
.dark .seoIcon,
.section.dark .seoIcon{
  background:#10243d;
  border-color:#29405a;
  color:#50d7eb
}
.linkGrid > a.hasSeoIcon .seoIcon{margin-bottom:10px}

/* --- 2026-10-27 UI bug tracker fixes (overrides page inline styles; site.css loads last) --- */

/* Consistent header chrome — stop theme jump between pages */
header.siteHeader,
header.siteHeader.shDark{
  background:rgba(255,255,255,.97)!important;
  border-bottom:1px solid #dce5ee!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px)
}
header.siteHeader.shDark .shNav{color:#34465d}
header.siteHeader.shDark .shNav a:hover,
header.siteHeader.shDark .shNav a[aria-current="page"]{color:#0b1c31}
header.siteHeader.shDark .shBtn{
  background:#fff;border-color:#dce5ee;color:#0b1c31;border-radius:0
}
header.siteHeader.shDark .shBtn.shPrimary{
  background:#0b1c31;border-color:#0b1c31;color:#fff
}
header.siteHeader.shDark .shToggle{border-color:#dce5ee;border-radius:0}
header.siteHeader.shDark .shToggle span{background:#0b1c31}
@media (max-width:1020px){
  header.siteHeader.shDark .shNav{
    background:#fff;border-bottom-color:#dce5ee;box-shadow:0 18px 30px rgba(11,28,49,.12)
  }
  header.siteHeader.shDark .shNav a,
  header.siteHeader.shDark .shNav a[aria-current="page"]{border-bottom-color:#edf2f6}
  header.siteHeader.shDark .shNav a[aria-current="page"]{color:#1667d9}
}

/* Drop forced min-heights that leave empty bottom space in short cards */
.card,
.trustCard,
.solutionCard,
.agentCard,
.mini div,
.linkGrid a,
.grid2 > .card,
.grid3 > .card,
.grid > .card,
.simpleGrid article,
.teamLink,
.teamNav .teamLink,
.teamNav a{
  min-height:0!important
}
.visual{min-height:0!important}

/* Home integrations (#42–47): hug content, no empty bottom pad */
.simpleGrid article{
  display:flex!important;
  flex-direction:column;
  justify-content:center;
  height:auto!important
}

/* Agents team boxes (#68): hug content */
.teamLink,
.teamNav .teamLink,
.teamNav a{
  display:block;
  height:auto!important
}

/* Product surfaces (#5): center short cards so empty gray/white is not a dead pad */
.grid3 > .card,
.grid2 > .card{
  display:flex!important;
  flex-direction:column;
  justify-content:center
}
/* 7 cards in 3-col grid leave 2 empty gray cells — span the last card full width */
.grid3 > .card:nth-child(7):last-child{
  grid-column:1 / -1
}

/* Agent roster: name + role must not run together */
.agentCard .top > div > b,
.agentCard .top b{display:block;line-height:1.25}
.agentCard .top > div > span,
.agentCard .top span{
  display:block;margin-top:3px;line-height:1.35;color:#66758a;font-weight:500
}

/* Product metric strip: keep “governed AI agents” on one line when space allows */
.metricStrip span{white-space:nowrap}
@media (max-width:720px){
  .metricStrip span{white-space:normal}
}

/* Product specialist portraits: avoid oversized image blocks */
.agentGrid .agent img,
.split .agentGrid .agent img{
  width:100%;
  max-height:200px;
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:center top
}

/* Pricing / proof icons: center glyph inside the icon box and with label text */
.ico{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:0
}
.ico svg{display:block;margin:0;flex:none}
.solutionCard .k,
.proofStrip article,
.policyGrid .card{
  display:flex;
  flex-direction:column
}
.solutionCard .k{
  flex-direction:row;
  align-items:center!important;
  gap:10px
}
.heroTrust span{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px;
  line-height:1.2
}
.heroTrust svg{
  display:block;
  flex:none;
  width:15px;
  height:15px;
  margin:0
}

/* Home trust map pin reads smaller in the shared 24 viewBox — scale to match siblings */
.trustIcon svg{width:20px;height:20px;display:block}
.trustGrid .trustCard:last-child .trustIcon svg{
  width:22px;height:22px;transform:scale(1.2);transform-origin:center
}

/* Home agent carousel (#49): lock board height when agent/team copy changes */
#handle .handleBoard{
  min-height:560px
}
#handle .handleRow{
  align-items:stretch;
  min-height:520px
}
#handle .handleSide{
  min-height:520px;
  display:flex;
  flex-direction:column
}
#handle .stageCopy{
  flex:1 1 auto;
  min-height:220px;
  display:flex;
  flex-direction:column
}
#handle .stageIdentity{flex:0 0 auto}
#handle .stageTasks{
  flex:1 1 auto;
  min-height:108px;
  max-height:132px;
  overflow:hidden
}
#handle .stageTask span{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden
}
#handle .stageActions{margin-top:auto}
#handle .stageBanner img,
#handle #stageTeamBanner{
  min-height:280px;
  object-fit:cover
}
@media (max-width:1020px){
  #handle .handleBoard,
  #handle .handleRow,
  #handle .handleSide{min-height:0}
  #handle .stageCopy{min-height:0}
  #handle .stageTasks{max-height:none;overflow:visible}
  #handle .stageBanner img,
  #handle #stageTeamBanner{min-height:0}
}

/* Home: roster, trust, platforms — horizontal sliders on small screens */
@media (max-width:900px){
  #roster>.wrap,#platforms>.wrap,#trust>.wrap,#evidence>.wrap,#integrations>.wrap,#difference>.wrap,.clientsStrip>.wrap{
    overflow:visible!important;padding-right:0
  }
  .homeMobileRail{
    display:flex!important;flex-flow:row nowrap!important;gap:12px!important;
    overflow-x:auto!important;touch-action:pan-x;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;width:100vw!important;max-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;padding:4px 24px 12px 0!important;
    grid-template-columns:unset!important;background:transparent!important;border:none!important
  }
  #trust .homeMobileRail>.trustCard,.clientsStrip .homeMobileRail>.clientSlot,
  #integrations .homeMobileRail.simpleGrid>article,
  #difference .homeMobileRail.differenceGrid>div{
    flex:0 0 calc(100vw - 56px)!important;scroll-snap-align:center;box-sizing:border-box
  }
  #difference .homeMobileRail.differenceGrid>div{
    border:1px solid #2c4059!important;background:#0f2037!important;min-height:0!important
  }
  #difference .homeRailHint{color:#8fa1b6}
  #roster .homeMobileRail .rosterCard,#evidence .homeMobileRail .evidenceCard{
    flex:0 0 min(82vw,300px)!important;scroll-snap-align:start
  }
  #platforms .homeMobileRail .platformCard{flex:0 0 min(72vw,260px)!important}
  .homeMobileRail>.rosterCard,.homeMobileRail>.trustCard,.homeMobileRail>.platformCard,
  .homeMobileRail>.evidenceCard,.homeMobileRail>.clientSlot,.homeMobileRail.simpleGrid>article{
    border:1px solid var(--line,#dce5ee)!important;border-radius:8px;background:#fff!important;
    box-shadow:0 2px 8px rgba(8,20,38,.06);min-height:0!important
  }
}

/* Mobile: horizontal sliders for team tiles + agent task cards */
@media (max-width:720px){
  #handle .tileGrid{
    display:flex!important;
    grid-template-columns:none!important;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    gap:8px;
    padding:2px 2px 10px
  }
  #handle .teamTile{
    flex:0 0 min(46%,168px);
    scroll-snap-align:start
  }
  #handle .stageTasks{
    display:flex!important;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    gap:8px;
    border-top:0!important;
    padding-bottom:4px;
    max-height:none!important
  }
  #handle .stageTask{
    flex:0 0 min(78%,240px);
    scroll-snap-align:start;
    border:1px solid #e6edf4;
    background:#fff;
    padding:10px 12px;
    margin:0;
    display:flex;
    flex-direction:column;
    gap:6px;
    min-height:88px
  }
}

/* Solutions / resource grids: even gaps once min-heights are gone */
.grid,
.grid2,
.grid3,
.solutionGrid,
.trustGrid,
.simpleGrid,
.teamNav{
  align-items:stretch
}

/* /security vulnerability report form */
#report-security-issue .srFormCard{max-width:640px;margin-top:28px;padding:28px 32px;border:1px solid #dce5ee;background:#fff;border-radius:8px}
#report-security-issue .srForm{display:flex;flex-direction:column;width:100%;margin:0}
#report-security-issue .srForm>label{display:flex;flex-direction:column;gap:8px;margin-top:18px;font-weight:700;font-size:14px;color:#0b1c31}
#report-security-issue .srForm>label:first-of-type{margin-top:0}
#report-security-issue .srFieldLabel{display:block;line-height:1.45}
#report-security-issue .srReq{color:#a83f38;font-weight:800}
#report-security-issue .srOpt{color:#64758a;font-weight:600}
#report-security-issue .srFormCheck{display:flex;gap:12px;align-items:flex-start;margin-top:22px;max-width:100%}
#report-security-issue .srFormCheck>input{flex:0 0 20px;width:20px;height:20px;margin-top:3px}
#report-security-issue .srFormCheck>label{display:block!important;flex:1;min-width:0;margin:0!important;font-weight:600;font-size:14px;line-height:1.5}
#report-security-issue .srFormActions{margin-top:22px}
#report-security-issue .srFormActions .btn{max-width:320px;width:100%}

/* /security vulnerability report form */
#report-security-issue .srFormCard{max-width:640px;margin-top:28px;padding:28px 32px;border:1px solid #dce5ee;background:#fff;border-radius:8px}
#report-security-issue .srForm{display:flex;flex-direction:column;width:100%;margin:0}
#report-security-issue .srForm>label{display:flex;flex-direction:column;gap:8px;margin-top:18px;font-weight:700;font-size:14px;color:#0b1c31}
#report-security-issue .srForm>label:first-of-type{margin-top:0}
#report-security-issue .srFieldLabel{display:block;line-height:1.45}
#report-security-issue .srReq{color:#a83f38;font-weight:800}
#report-security-issue .srOpt{color:#64758a;font-weight:600}
#report-security-issue .srFormCheck{display:flex;gap:12px;align-items:flex-start;margin-top:22px;max-width:100%}
#report-security-issue .srFormCheck>input{flex:0 0 20px;width:20px;height:20px;margin-top:3px}
#report-security-issue .srFormCheck>label{display:block!important;flex:1;min-width:0;margin:0!important;font-weight:600;font-size:14px;line-height:1.5}
#report-security-issue .srFormActions{margin-top:22px}
#report-security-issue .srFormActions .btn{max-width:320px;width:100%}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
