/* TEAM500 MONOLITH v24 — deep refinement layer.
   Loaded last. It deliberately normalises every repeated component. */
:root{
  --v18-ink:#080808;
  --v18-paper:#f4f1ea;
  --v18-white:#fff;
  --v18-orange:#ff4d00;
  --v18-orange-deep:#e94300;
  --v18-line:rgba(8,8,8,.16);
  --v18-muted:#6b675f;
  --v18-radius:0;
  --v18-shadow:0 28px 72px rgba(8,8,8,.11);
}

html{overflow-x:hidden}
body[data-v15]{background:var(--v18-paper);color:var(--v18-ink);overflow-x:hidden}
body[data-v15] *{box-sizing:border-box}
body[data-v15] .wrap,
body[data-v15] .wrap--wide{width:min(1480px,calc(100% - clamp(32px,6vw,112px)));margin-inline:auto}

/* Typography: no punctuation-created breaks, no broken words. */
body[data-v15] h1,
body[data-v15] h2,
body[data-v15] h3,
body[data-v15] h4{
  font-family:'Manrope',system-ui,sans-serif!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}
body[data-v15] .heading-lead,
body[data-v15] .heading-accent{display:inline!important;max-width:none!important;white-space:normal!important}
body[data-v15] .heading-lead:not(:empty)::after{content:' '}
body[data-v15] .heading-accent{font-weight:900!important;color:var(--v18-orange)!important;letter-spacing:-.065em!important}
body[data-v15] .hero h1{
  max-width:100%!important;
  font-size:clamp(3.2rem,4.4vw,6rem)!important;
  line-height:.88!important;
  letter-spacing:-.07em!important;
  white-space:normal!important;min-width:0!important;
}
body[data-v15] .hero h1 .heading-accent{font-weight:900!important;text-shadow:none!important}
body[data-v15] .head h2,
body[data-v15] .prose>h2{max-width:19ch;font-size:clamp(2.35rem,4.15vw,5.1rem)!important;line-height:.94!important;letter-spacing:-.06em!important}
body[data-v15] .section-index{
  display:inline-grid!important;place-items:center;vertical-align:.16em;
  width:2.45em;height:2.45em;margin-right:.55em;
  background:var(--v18-ink);color:var(--v18-white);
  font:800 .23em/1 'IBM Plex Mono',monospace!important;letter-spacing:.08em!important;
}

/* One kicker grammar everywhere. */
body[data-v15] .head>.tag,
body[data-v15] .v18-kicker,
body[data-v15] .rail__t,
body[data-v15] .links__col>.tag,
body[data-v15] .v17-trust-title>h2{
  display:inline-flex!important;align-items:center;gap:11px;
  width:auto!important;margin:0 0 22px!important;padding:0!important;
  border:0!important;background:transparent!important;color:var(--v18-ink)!important;
  font:750 11px/1 'IBM Plex Mono',monospace!important;
  letter-spacing:.13em!important;text-transform:uppercase!important;
}
body[data-v15] .head>.tag::before,
body[data-v15] .v18-kicker::before,
body[data-v15] .rail__t::before,
body[data-v15] .links__col>.tag::before,
body[data-v15] .v17-trust-title>h2::before{
  content:'';width:11px;height:11px;flex:0 0 11px;background:var(--v18-orange);
  box-shadow:18px 0 0 var(--v18-ink);margin-right:18px;
}
body[data-v15] .sect--ink .head>.tag,
body[data-v15] .sect--ink .v18-kicker{color:#fff!important}
body[data-v15] .sect--ink .head>.tag::before,
body[data-v15] .sect--ink .v18-kicker::before{box-shadow:18px 0 0 #fff}

/* Trust / clients is a proper section, aligned with every other section. */
body[data-v15] .home-clients{padding:72px 0!important;background:#fff;border:0!important}
body[data-v15] .home-clients .v17-trust-title{margin-bottom:22px!important}
body[data-v15] .home-clients .v17-trust-title>h2{font-size:11px!important;letter-spacing:.13em!important}
body[data-v15] .marks{border:0!important;background:var(--v18-paper);padding:26px 0;overflow:hidden}
body[data-v15] .marks::before,
body[data-v15] .marks::after{display:none!important}
body[data-v15] .marks__i{min-width:190px;height:78px;padding:16px 28px;border:0!important;background:transparent!important}
body[data-v15] .marks__i img{max-width:126px!important;max-height:42px!important;filter:grayscale(1) contrast(1.18)!important;opacity:.78;object-fit:contain}

/* Icon-led service/product cards. */
body[data-v15] .svc{
  position:relative;display:grid!important;grid-template-columns:76px minmax(0,1fr)!important;
  align-content:start;column-gap:24px;row-gap:10px;
  min-height:280px;padding:30px!important;border:1px solid var(--v18-line)!important;
  background:#fff!important;color:var(--v18-ink)!important;box-shadow:none!important;
  overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
body[data-v15] .svc::after{content:'';position:absolute;left:0;right:0;top:0;height:5px;background:var(--v18-orange);transform:scaleX(.12);transform-origin:left;transition:transform .25s ease}
body[data-v15] .svc:hover{transform:translateY(-5px);box-shadow:var(--v18-shadow)!important;border-color:transparent!important}
body[data-v15] .svc:hover::after{transform:scaleX(1)}
body[data-v15] .svc>.chip{
  grid-column:1;grid-row:1/6;display:grid!important;place-items:center!important;
  width:76px!important;height:76px!important;margin:0!important;padding:0!important;
  background:var(--v18-ink)!important;color:var(--v18-orange)!important;border:0!important;border-radius:0!important;
}
body[data-v15] .svc>.chip svg{display:block!important;width:32px!important;height:32px!important;stroke-width:1.75!important}
body[data-v15] .svc>h3,
body[data-v15] .svc>h4{grid-column:2;margin:0!important;color:var(--v18-ink)!important;font-size:clamp(1.25rem,1.6vw,1.72rem)!important;line-height:1.04!important;letter-spacing:-.035em!important}
body[data-v15] .svc>p,
body[data-v15] .svc>div:not(.chip){grid-column:2;margin:0!important;color:#555047!important}
body[data-v15] .svc>.svc__go{grid-column:2;align-self:end;margin-top:12px;color:var(--v18-orange)!important;font-weight:800}
body[data-v15] .home-services .svc{min-height:330px}
body[data-v15] .home-services .grid--2{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:2px!important}

/* Ecosystem: label remains readable on ink. */
body[data-v15] .home-ecosystem .head>.tag{color:#fff!important}
body[data-v15] .home-ecosystem .head>p{color:rgba(255,255,255,.72)!important}
body[data-v15] .home-ecosystem .svc{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;
  min-height:330px!important;padding:28px!important;background:#111!important;color:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
}
body[data-v15] .home-ecosystem .svc>.tag{color:var(--v18-orange)!important;background:transparent!important}
body[data-v15] .home-ecosystem .svc>h3,
body[data-v15] .home-ecosystem .svc>h4{color:#fff!important;margin:10px 0!important}
body[data-v15] .home-ecosystem .svc>p{color:rgba(255,255,255,.68)!important;margin:0!important}
body[data-v15] .home-ecosystem .svc>.svc__go{margin-top:auto!important;color:var(--v18-orange)!important}

/* Editorial case covers: portraits do the emotional work, metadata stays outside. */
body[data-v15] .home-cases .grid,
body[data-v15] #caseGrid{gap:24px!important}
body[data-v15] .item,
body[data-v15] .feat{border:1px solid var(--v18-line)!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important}
body[data-v15] .item__img,
body[data-v15] .feat__img{aspect-ratio:16/10!important;overflow:hidden!important;background:var(--v18-ink)!important}
body[data-v15] .item__img>img,
body[data-v15] .v15-case-cover,
body[data-v15] .v15-cover__screen{width:100%!important;height:100%!important;inset:0!important;border:0!important}
body[data-v15] .v15-case-cover::before{display:none!important}
body[data-v15] .v15-case-cover::after{inset:0!important;border:0!important;box-shadow:inset 7px 0 0 var(--v18-orange)!important}
body[data-v15] .v15-cover__screen img,
body[data-v15] .item__img>img{object-fit:cover!important;filter:none!important;mix-blend-mode:normal!important;transform:scale(1.002)!important;transition:transform .45s ease!important}
body[data-v15] .item:hover .v15-cover__screen img,
body[data-v15] .feat:hover .v15-cover__screen img,
body[data-v15] .item:hover .item__img>img{transform:scale(1.035)!important;filter:none!important}
body[data-v15] .v15-cover__index{display:grid!important;place-items:center;right:16px!important;bottom:16px!important;top:auto!important;width:48px;height:48px;padding:0!important;background:var(--v18-orange)!important;color:var(--v18-ink)!important;font:900 12px/1 'IBM Plex Mono',monospace!important}
body[data-v15] .item__body,
body[data-v15] .feat__body{padding:24px 24px 27px!important}
body[data-v15] .item__cat{display:block;margin-bottom:12px;color:var(--v18-orange)!important;font:750 10px/1.2 'IBM Plex Mono',monospace!important;letter-spacing:.09em;text-transform:uppercase}
body[data-v15] .item__body h2,
body[data-v15] .item__body h3,
body[data-v15] .item__body h4,
body[data-v15] .feat__body h2,
body[data-v15] .feat__body h3{font-size:clamp(1.35rem,1.65vw,1.9rem)!important;line-height:1.02!important;letter-spacing:-.04em!important;margin:0 0 12px!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--v18-ink)!important}
body[data-v15] .item__body p,
body[data-v15] .feat__body p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:0 0 18px!important;color:#5e584f!important}
body[data-v15] .case-metric{display:block;margin:0 0 10px;color:var(--v18-ink);font:900 clamp(1.55rem,2vw,2.25rem)/1 'Manrope',sans-serif;letter-spacing:-.055em}
body[data-v15] .item__go{color:var(--v18-ink)!important;font-weight:850}

/* Pull quotes use the brand palette only. */
body[data-v15] .pull{border:0!important;background:var(--v18-ink)!important;color:#fff!important;box-shadow:inset 7px 0 0 var(--v18-orange)}
body[data-v15] .pull blockquote{color:#fff!important}
body[data-v15] .pull strong,
body[data-v15] .pull b,
body[data-v15] .pull em{color:var(--v18-orange)!important;background:transparent!important}
body[data-v15] .home-founder blockquote b,
body[data-v15] .home-founder blockquote strong,
body[data-v15] .home-founder blockquote em,
body[data-v15] .home-founder .founder__sub b,
body[data-v15] .home-founder .founder__sub strong,
body[data-v15] .home-founder .founder__sub em{color:var(--v18-orange)!important;background:transparent!important}

/* Legal is an editorial dossier, not a set of old-fashioned tiles. */
body[data-v15] .legal{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:2px!important;background:var(--v18-orange)!important;border:0!important}
body[data-v15] .legal article{
  display:grid;grid-template-columns:66px minmax(0,1fr);column-gap:22px;align-content:start;
  grid-column:auto!important;min-height:360px;padding:32px!important;border:0!important;background:var(--v18-ink)!important;color:#fff!important;
}
body[data-v15] .legal article>.chip{grid-column:1;grid-row:1/5;display:grid!important;place-items:center;width:66px!important;height:66px!important;background:var(--v18-orange)!important;color:var(--v18-ink)!important}
body[data-v15] .legal article>.chip svg{width:28px!important;height:28px!important}
body[data-v15] .legal article h3,
body[data-v15] .legal article h4{grid-column:2;margin:0 0 14px!important;color:#fff!important;font-size:clamp(1.28rem,1.65vw,1.75rem)!important;line-height:1.04!important}
body[data-v15] .legal article p,
body[data-v15] .legal article ul{grid-column:2;color:rgba(255,255,255,.7)!important}
body[data-v15] .legal article li::marker{color:var(--v18-orange)}
body[data-v15] .legal__note{margin-top:22px;padding:22px;border-left:7px solid var(--v18-orange);background:#fff;color:#5a554c}

/* TOC: stable sticky rail without an inner scrollbar. */
body[data-v15] .layout{grid-template-columns:minmax(250px,320px) minmax(0,1fr)!important;gap:clamp(42px,6vw,92px)!important;align-items:start}
body[data-v15] .rail{position:sticky!important;top:96px!important;max-height:none!important;height:auto!important;overflow:visible!important;padding:26px!important;background:#fff!important;border:1px solid var(--v18-line)!important;box-shadow:0 20px 52px rgba(0,0,0,.06)}
body[data-v15] .rail>div:first-child{overflow:visible!important;max-height:none!important}
body[data-v15] .toc{display:grid!important;gap:2px!important;max-height:none!important;overflow:visible!important;scrollbar-width:none!important}
body[data-v15] .toc::-webkit-scrollbar{display:none!important}
body[data-v15] .toc a{display:block!important;padding:10px 12px!important;background:#f1eee7!important;color:#4f4a42!important;font:650 11px/1.25 'Manrope',sans-serif!important;border:0!important;transform:none!important}
body[data-v15] .toc a:hover{background:#e6e1d8!important;color:#080808!important}
body[data-v15] .toc a.on,
body[data-v15] .toc a[aria-current]{background:var(--v18-ink)!important;color:#fff!important;box-shadow:inset 5px 0 0 var(--v18-orange)!important;transform:none!important}
body[data-v15] .by{padding:18px 0!important;border:0!important;display:grid!important;grid-template-columns:54px minmax(0,1fr)!important;gap:14px!important;align-items:center!important}
body[data-v15] .by img{display:block!important;width:54px!important;height:54px!important;object-fit:cover!important;border:3px solid var(--v18-orange)!important;border-radius:0!important}
body[data-v15] .rail__cta{margin:0!important;padding:22px!important;background:var(--v18-orange)!important;color:var(--v18-ink)!important;border:0!important}
body[data-v15] .rail__cta .tag,
body[data-v15] .rail__cta h2{color:var(--v18-ink)!important;background:transparent!important}
body[data-v15] .rail__cta h2{font-size:1.25rem!important;line-height:1.05!important;margin:8px 0 16px!important}
body[data-v15] .rail__cta .btn{background:var(--v18-ink)!important;color:#fff!important;border-color:var(--v18-ink)!important}

/* Embedded videos. */
body[data-v15] .tube{display:block!important;position:relative;aspect-ratio:16/9;overflow:hidden;background:#000!important;border:0!important;cursor:default!important}
body[data-v15] .tube iframe,
body[data-v15] .tube video{display:block!important;width:100%!important;height:100%!important;border:0!important;object-fit:cover!important}

/* Process, comparisons, checklists and links share one geometry. */
body[data-v15] .steps{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:2px!important;background:var(--v18-orange)!important;margin:28px 0!important}
body[data-v15] .step{display:grid!important;grid-template-rows:auto auto 1fr!important;gap:18px!important;min-width:0!important;min-height:300px!important;padding:26px!important;background:var(--v18-ink)!important;color:#fff!important;border:0!important;transform:none!important}
body[data-v15] .step::before,
body[data-v15] .step::after{display:none!important}
body[data-v15] .step__n{display:grid!important;place-items:center;width:48px!important;height:48px!important;margin:0!important;background:var(--v18-orange)!important;color:var(--v18-ink)!important;font:900 11px/1 'IBM Plex Mono',monospace!important}
body[data-v15] .step h3,
body[data-v15] .step h4{color:#fff!important;font-size:1.18rem!important;line-height:1.03!important;margin:0!important}
body[data-v15] .step p{color:rgba(255,255,255,.68)!important;margin:0!important;font-size:.9rem!important}
body[data-v15] .prose .steps{grid-template-columns:repeat(2,minmax(0,1fr))!important}
body[data-v15] .prose .steps .step{min-height:270px!important}
body[data-v15] .prose .steps .step:last-child{grid-column:1/-1!important;min-height:210px!important}
body[data-v15] .prose .svc{min-height:230px}
body[data-v15] .v18-compare{border:0!important}
body[data-v15] .v18-compare>.svc{min-height:230px!important}
body[data-v15] .v18-compare>.svc:nth-child(2){background:var(--v18-ink)!important;color:#fff!important}
body[data-v15] .v18-compare>.svc:nth-child(2) h3,
body[data-v15] .v18-compare>.svc:nth-child(2) h4{color:#fff!important}
body[data-v15] .v18-compare>.svc:nth-child(2) p{color:rgba(255,255,255,.7)!important}
body[data-v15] .download{display:grid!important;grid-template-columns:76px minmax(0,1fr) auto!important;gap:24px!important;align-items:center!important;padding:28px!important;background:#fff!important;border:1px solid var(--v18-line)!important}
body[data-v15] .download .chip,
body[data-v15] .v18-mini-icon{display:grid!important;place-items:center;width:58px;height:58px;background:var(--v18-ink);color:var(--v18-orange)}
body[data-v15] .download .chip svg,
body[data-v15] .v18-mini-icon svg{width:27px;height:27px}
body[data-v15] .links__col ul{margin-top:12px!important}
body[data-v15] .links__col a{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important;align-items:center!important;padding:14px 0!important;color:var(--v18-ink)!important}
body[data-v15] .links__col a em{justify-self:end;white-space:nowrap;color:var(--v18-orange)!important;font:750 9px/1 'IBM Plex Mono',monospace!important;letter-spacing:.09em;text-transform:uppercase}

/* Related services regain visible icons. */
body[data-v15] .mini>a{position:relative;display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;column-gap:18px!important;align-content:start!important;padding:24px!important;background:#fff!important;border:1px solid var(--v18-line)!important}
body[data-v15] .mini>a>.v18-mini-icon{grid-column:1;grid-row:1/6}
body[data-v15] .mini>a>:not(.v18-mini-icon){grid-column:2}
body[data-v15] .mini>a h4{font-size:1.18rem!important;line-height:1.05!important;margin:4px 0 10px!important}

/* Team photos and the final CTA remain visual, not hidden by overlays. */
body[data-v15] .home-team .grid--4 .card{overflow:hidden!important;background:#fff!important;border:1px solid var(--v18-line)!important}
body[data-v15] .home-team .grid--4 img{display:block!important;width:100%!important;height:260px!important;object-fit:cover!important;object-position:center 20%!important;filter:grayscale(.2) contrast(1.06)!important;border:0!important}
body[data-v15] .faceband::after,
body[data-v15] .home-contact::after{background:transparent!important;opacity:0!important}

/* Buttons: enforce readable pairings in every background. */
body[data-v15] .btn,
body[data-v15] button{font-weight:800}
body[data-v15] .btn--go,
body[data-v15] .btn--solid{background:var(--v18-orange)!important;color:var(--v18-ink)!important;border-color:var(--v18-orange)!important}
body[data-v15] .pitch .btn--go,
body[data-v15] .sect--hot .btn,
body[data-v15] [style*="background:var(--orange)"] .btn{background:var(--v18-ink)!important;color:#fff!important;border-color:var(--v18-ink)!important}
body[data-v15] .btn--line,
body[data-v15] .btn--ghost{background:transparent!important;color:var(--v18-ink)!important;border-color:var(--v18-ink)!important}
body[data-v15] .sect--ink .btn--line,
body[data-v15] .sect--ink .btn--ghost{color:#fff!important;border-color:#fff!important}
body[data-v15] .hero .btn--line,
body[data-v15] .hero .btn--ghost{background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.72)!important}
body[data-v15] .pitch{background:var(--v18-orange)!important;color:var(--v18-ink)!important;border:0!important}
body[data-v15] .pitch h3,
body[data-v15] .pitch p,
body[data-v15] .pitch__note{color:var(--v18-ink)!important}

/* Tables and filters stay in the same component language. */
body[data-v15] .filters{display:flex!important;flex-wrap:wrap!important;gap:8px!important;padding:0!important;border:0!important;background:transparent!important;overflow:visible!important}
body[data-v15] .filters button{padding:12px 16px!important;border:1px solid var(--v18-ink)!important;background:transparent!important;color:var(--v18-ink)!important;border-radius:0!important}
body[data-v15] .filters button[aria-pressed="true"]{background:var(--v18-ink)!important;color:#fff!important;box-shadow:inset 0 -5px 0 var(--v18-orange)!important}
body[data-v15] .tbl{border:0!important;overflow:auto!important;box-shadow:inset 0 0 0 1px var(--v18-line)}
body[data-v15] table th{background:var(--v18-ink)!important;color:#fff!important}

@media(max-width:1100px){
  body[data-v15] .layout{grid-template-columns:1fr!important}
  body[data-v15] .rail{display:block!important;position:relative!important;top:auto!important;width:100%!important}
  body[data-v15] .toc{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body[data-v15] .steps{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body[data-v15] .legal{grid-template-columns:1fr!important}
}
@media(max-width:720px){
  body[data-v15] .wrap,body[data-v15] .wrap--wide{width:calc(100% - 28px)}
  body[data-v15] .hero h1{font-size:clamp(2rem,9vw,2.75rem)!important;line-height:.94!important;max-width:100%!important}
  body[data-v15] .head h2,body[data-v15] .prose>h2{font-size:clamp(2rem,10vw,3.4rem)!important;max-width:100%!important}
  body[data-v15] .svc{grid-template-columns:58px minmax(0,1fr)!important;column-gap:18px!important;min-height:0!important;padding:22px!important}
  body[data-v15] .svc>.chip{width:58px!important;height:58px!important}
  body[data-v15] .svc>.chip svg{width:25px!important;height:25px!important}
  body[data-v15] .toc{grid-template-columns:1fr!important}
  body[data-v15] .steps{grid-template-columns:1fr!important}
  body[data-v15] .step{min-height:0!important}
  body[data-v15] .legal article{grid-template-columns:52px minmax(0,1fr);padding:22px!important;min-height:0!important}
  body[data-v15] .legal article>.chip{width:52px!important;height:52px!important}
  body[data-v15] .download{grid-template-columns:58px minmax(0,1fr)!important}
  body[data-v15] .download .btn{grid-column:1/-1!important}
  body[data-v15] .marks__i{min-width:150px}
  body[data-v15] .home-services .grid--2{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){body[data-v15] *{scroll-behavior:auto!important;transition:none!important}}
