/* TEAM500 MONOLITH v24 — Unified System
   Structural correction layer for v19. One signal, one grid, one hover language. */
:root{
  --v20-ink:#080808;
  --v20-paper:#f3f1ea;
  --v20-white:#fff;
  --v20-orange:#ff4d00;
  --v20-line:rgba(8,8,8,.16);
  --v20-muted:#68645b;
}

html{overflow-x:clip!important}
body[data-v20]{overflow-x:clip!important}

/* SECTION LABEL — the only permitted block marker. */
body[data-v20] :is(.tag,.r-kicker,.eyebrow,.v20-section-label){
  display:inline-flex!important;
  align-items:center!important;
  gap:12px!important;
  width:auto!important;
  min-height:0!important;
  margin-inline:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--v20-ink)!important;
  font:700 10px/1.2 'IBM Plex Mono',monospace!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
  box-shadow:none!important;
}
body[data-v20] :is(.tag,.r-kicker,.eyebrow,.v20-section-label)::before{
  content:""!important;
  display:block!important;
  flex:0 0 28px!important;
  width:28px!important;
  height:2px!important;
  border:0!important;
  border-radius:0!important;
  background:var(--v20-orange)!important;
  box-shadow:none!important;
}
body[data-v20] :is(.tag,.r-kicker,.eyebrow,.v20-section-label)::after{content:none!important;display:none!important}
body[data-v20] :is(.hero,.sect--ink,.founder,.home-contact,.r-dark) :is(.tag,.r-kicker,.eyebrow,.v20-section-label){color:#fff!important}
body[data-v20] :is(.pitch,.rail__cta) .tag::before{background:var(--v20-ink)!important}

/* The clients heading is now a normal wrap/head-axis, not an h2 special case. */
body[data-v20] .v20-trust-head{
  margin-bottom:24px!important;
}
body[data-v20] .v20-trust-axis{box-sizing:border-box;width:100%;max-width:1440px;margin-inline:auto;padding-inline:clamp(20px,4vw,64px)}
body[data-v20] .v20-trust-head .v20-section-label{margin:0!important}
body[data-v20] .v17-trust-title h2::before,
body[data-v20] .v17-trust-title h2::after{content:none!important;display:none!important}

/* VIDEO SURFACES — visual content owns the full section width. */
body[data-v20] .v20-video-block{overflow:clip!important}
body[data-v20] .v20-video-block{position:relative!important}
body[data-v20] .v20-video-surface{
  position:relative!important;
  left:var(--v20-video-shift,0)!important;
  width:var(--v20-video-width,100%)!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  border-radius:0!important;
  overflow:hidden!important;
}
body[data-v20] .v20-background-video{
  position:absolute!important;
  inset:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  height:100%!important;
  z-index:0!important;
}
body[data-v20] .v20-video-block>.v20-background-video~*{position:relative;z-index:1}
body[data-v20] .v20-video-surface>video,
body[data-v20] .v20-video-surface video{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  object-fit:cover!important;
}
body[data-v20] :is(.hero__media,.hero__visual,.video-bg,.founder__media,.home-contact__media){
  inset-inline:0!important;
  width:100%!important;
  max-width:none!important;
  margin-inline:0!important;
}

/* FOUR FORMATS — one editorial component and one safe hover state. */
body[data-v20] .v20-format-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:1px!important;
  border:0!important;
  background:var(--v20-line)!important;
}
body[data-v20] .home-services .v20-format{
  position:relative!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  grid-template-rows:auto auto 1fr auto auto!important;
  column-gap:24px!important;
  min-height:380px!important;
  padding:clamp(28px,3.2vw,48px)!important;
  border:0!important;
  border-radius:0!important;
  background:var(--v20-paper)!important;
  color:var(--v20-ink)!important;
  box-shadow:none!important;
  transform:none!important;
  transition:background .2s ease!important;
}
body[data-v20] .home-services .v20-format::before,
body[data-v20] .home-services .v20-format::after{content:none!important;display:none!important}
body[data-v20] .home-services .v20-format:hover,
body[data-v20] .home-services .v20-format:focus-visible{
  background:#eae7de!important;
  color:var(--v20-ink)!important;
  transform:none!important;
}
body[data-v20] .v20-format>.chip{grid-column:1;grid-row:1/3;align-self:start!important;margin:0!important;color:var(--v20-orange)!important}
body[data-v20] .home-services .v20-format>.chip{
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body[data-v20] .home-services .v20-format>.chip::before,
body[data-v20] .home-services .v20-format>.chip::after{content:none!important;display:none!important}
body[data-v20] .home-services .v20-format>.chip svg{width:30px!important;height:30px!important;color:var(--v20-orange)!important}
body[data-v20] .v20-format>h3{grid-column:2;grid-row:1;margin:0 0 14px!important;color:var(--v20-ink)!important;font-size:clamp(1.55rem,2.1vw,2.45rem)!important;line-height:1!important}
body[data-v20] .v20-format>p{grid-column:2;grid-row:2;margin:0!important;max-width:52ch!important;color:var(--v20-muted)!important;line-height:1.55!important}
body[data-v20] .v20-format .v20-facts{grid-column:2;grid-row:4;display:flex!important;gap:24px!important;flex-wrap:wrap!important;margin:32px 0 0!important}
body[data-v20] .v20-format .v20-fact{min-width:92px!important}
body[data-v20] .v20-format .v20-fact-label{display:block!important;color:var(--v20-muted)!important;font:700 9px/1.2 'IBM Plex Mono',monospace!important;letter-spacing:.11em!important;text-transform:uppercase!important}
body[data-v20] .v20-format .v20-fact-value{display:block!important;margin-top:5px!important;color:var(--v20-ink)!important;font:800 1.02rem/1.2 Manrope,sans-serif!important}
body[data-v20] .v20-format .svc__go{grid-column:2;grid-row:5;margin-top:28px!important;color:var(--v20-orange)!important;opacity:1!important}
body[data-v20] .v20-format:hover :is(h3,p,b,span,.svc__go),
body[data-v20] .v20-format:focus-visible :is(h3,p,b,span,.svc__go){opacity:1!important;visibility:visible!important}
body[data-v20] .home-services .v20-format:hover>h3,
body[data-v20] .home-services .v20-format:focus-visible>h3,
body[data-v20] .home-services .v20-format:hover .v20-fact-value,
body[data-v20] .home-services .v20-format:focus-visible .v20-fact-value{color:var(--v20-ink)!important}
body[data-v20] .home-services .v20-format:hover>p,
body[data-v20] .home-services .v20-format:focus-visible>p,
body[data-v20] .home-services .v20-format:hover .v20-fact-label,
body[data-v20] .home-services .v20-format:focus-visible .v20-fact-label{color:var(--v20-muted)!important}
body[data-v20] .home-services .v20-format:hover>.chip,
body[data-v20] .home-services .v20-format:focus-visible>.chip,
body[data-v20] .home-services .v20-format:hover>.svc__go,
body[data-v20] .home-services .v20-format:focus-visible>.svc__go{color:var(--v20-orange)!important}

/* CASES — editorial photography, facts in the body, no labels over faces. */
body[data-v20] .home-cases .grid.grid--2{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(36px,5vw,74px) clamp(28px,4vw,58px)!important;
  background:transparent!important;
  border:0!important;
}
body[data-v20] .v20-home-case{
  display:block!important;
  grid-column:auto!important;
  grid-row:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  min-width:0!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  border-top:1px solid var(--v20-line)!important;
}
body[data-v20] .v20-home-case:hover{background:transparent!important}
body[data-v20] .home-cases .v20-home-case .item__img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:16/10!important;
  background:#d8d5cc!important;
}
body[data-v20] .v20-home-case .v20-case-photo{transition:transform .35s ease,filter .35s ease!important;filter:saturate(.82) contrast(1.04)!important}
body[data-v20] .v20-home-case:hover .v20-case-photo{transform:scale(1.018)!important;filter:saturate(.95) contrast(1.04)!important}
body[data-v20] .v20-home-case[data-case-cover="payment"] .v20-case-photo{object-position:center 42%!important}
body[data-v20] .v20-home-case[data-case-cover="biometry"] .v20-case-photo{object-position:center 28%!important}
body[data-v20] .v20-home-case[data-case-cover="data"] .v20-case-photo{object-position:center 38%!important}
body[data-v20] .v20-home-case[data-case-cover="logistics"] .v20-case-photo{object-position:center 46%!important}
body[data-v20] .v20-home-case .item__body{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-content:start!important;
  gap:10px 24px!important;
  padding:24px 0 34px!important;
}
body[data-v20] .v20-home-case .item__cat{grid-column:1/3!important;grid-row:1!important}
body[data-v20] .v20-home-case .case-metric{grid-column:2!important;grid-row:2/4!important;align-self:start!important;max-width:13ch!important;text-align:right!important;color:var(--v20-orange)!important;font-size:clamp(1.2rem,1.8vw,2rem)!important;line-height:1!important}
body[data-v20] .v20-home-case h3{grid-column:1!important;grid-row:2!important;max-width:18ch!important;margin:0!important;color:var(--v20-ink)!important;font-size:clamp(1.55rem,2vw,2.2rem)!important;line-height:1.02!important}
body[data-v20] .v20-home-case p{grid-column:1!important;grid-row:3!important;display:-webkit-box!important;max-width:58ch!important;margin:0!important;overflow:hidden!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;color:var(--v20-muted)!important}
body[data-v20] .v20-home-case .item__go{grid-column:1/3!important;grid-row:5!important;margin-top:16px!important;color:var(--v20-ink)!important}
body[data-v20] .v20-home-case:hover .item__go{color:var(--v20-orange)!important}

/* TECHNOLOGY / COMPLIANCE — named groups plus compact tags, no large squares. */
body[data-v20] .v20-tag-matrix{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(36px,5vw,78px)!important;
  border:0!important;
  background:transparent!important;
}
body[data-v20] :is(.home-tech,.home-markets) .grid.v20-tag-matrix{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(36px,5vw,78px)!important;
  border:0!important;
  background:transparent!important;
}
body[data-v20] :is(.home-tech,.home-markets) .v20-tag-group{
  display:block!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
  gap:0!important;
  min-height:0!important;
  padding:24px 0 0!important;
  border:0!important;
  border-top:2px solid var(--v20-ink)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body[data-v20] :is(.home-tech,.home-markets) .card.svc.v20-tag-group::before,
body[data-v20] :is(.home-tech,.home-markets) .card.svc.v20-tag-group::after{content:none!important;display:none!important}
body[data-v20] :is(.home-tech,.home-markets) .v20-tag-group h3,
body[data-v20] :is(.home-tech,.home-markets) .v20-tag-group h4{
  min-height:0!important;
  margin:0 0 20px!important;
  max-width:28ch!important;
  color:var(--v20-ink)!important;
  font-size:clamp(1.25rem,1.65vw,1.75rem)!important;
  line-height:1.08!important;
}
body[data-v20] :is(.home-tech,.home-markets) .v20-tag-group ul{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
body[data-v20] :is(.home-tech,.home-markets) .v20-tag-group li{
  display:inline-flex!important;
  width:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:8px 11px!important;
  border:1px solid var(--v20-line)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.32)!important;
  color:var(--v20-muted)!important;
  font:650 11px/1.35 'IBM Plex Mono',monospace!important;
  letter-spacing:0!important;
  flex:0 1 auto!important;
  max-width:100%!important;
}
body[data-v20] :is(.home-tech,.home-markets) .v20-tag-group li::before,
body[data-v20] :is(.home-tech,.home-markets) .v20-tag-group li::marker{content:none!important;display:none!important}
body[data-v20] :is(.home-tech,.home-markets) .v20-tag-group li:hover{border-color:var(--v20-orange)!important;color:var(--v20-ink)!important}

/* Consistent interactive surfaces across catalogues and supporting cards. */
body[data-v20] :is(.card,.item,.feat,.mini>a):hover{box-shadow:none!important}
body[data-v20] :is(.card,.item,.feat,.mini>a):focus-visible{outline:2px solid var(--v20-orange)!important;outline-offset:4px!important}
body[data-v20] .foot__brand img{filter:none!important}

@media(max-width:900px){
  body[data-v20] .v20-trust-axis{padding-inline:20px}
  body[data-v20] .v20-format-grid,
  body[data-v20] .v20-tag-matrix{grid-template-columns:1fr!important}
  body[data-v20] :is(.home-tech,.home-markets) .grid.v20-tag-matrix{grid-template-columns:1fr!important}
  body[data-v20] .home-services .v20-format{min-height:0!important;padding:28px 20px!important;grid-template-columns:38px minmax(0,1fr)!important;column-gap:16px!important}
  body[data-v20] .v20-format .v20-facts{gap:18px!important}
  body[data-v20] .v20-home-case .item__body{grid-template-columns:1fr!important}
  body[data-v20] .home-cases .grid.grid--2{grid-template-columns:1fr!important}
  body[data-v20] .v20-home-case :is(.item__cat,.case-metric,h3,p,.item__go){grid-column:1!important;grid-row:auto!important;text-align:left!important}
  body[data-v20] .v20-home-case .case-metric{margin:6px 0!important}
}

@media(prefers-reduced-motion:reduce){
  body[data-v20] .v20-case-photo{transition:none!important}
}
