.customers-shell{--customer-mark:"Customers / TDC"}
.customers-shell .dock{grid-template-columns:repeat(7,1fr)}
.customers-shell .view::before{opacity:.14}
.customers-shell .view.is-active::before{opacity:.2}
.services-shell.customers-shell .view[data-view] .view__aside::after{
  content:var(--customer-mark);
  position:absolute;
  right:28px;
  bottom:22px;
  width:auto;
  height:auto;
  z-index:2;
  display:none;
  background:none;
  color:rgba(219,234,237,.34);
  font:600 .72rem/1 var(--sans);
  letter-spacing:.08em;
  text-transform:uppercase;
  filter:none;
  mix-blend-mode:normal;
  opacity:1;
  text-shadow:none;
}
:root[data-theme="light"] .customers-shell .view__aside::after{color:rgba(33,65,78,.34)}
.services-shell.customers-shell .view[data-view="0"]{--customer-mark:"Partnership / TDC"}
.services-shell.customers-shell .view[data-view="1"]{--customer-mark:"Insurance / TDC"}
.services-shell.customers-shell .view[data-view="2"]{--customer-mark:"Financial services / TDC"}
.services-shell.customers-shell .view[data-view="3"]{--customer-mark:"Construction / TDC"}
.services-shell.customers-shell .view[data-view="4"]{--customer-mark:"Life sciences / TDC"}
.services-shell.customers-shell .view[data-view="5"]{--customer-mark:"Customer voices / TDC"}
.services-shell.customers-shell .view[data-view="6"]{--customer-mark:"Start here / TDC"}
.customers-shell .view[data-view]::before{
  background:
    linear-gradient(90deg,rgba(6,17,30,.98) 0%,rgba(6,17,30,.82) 38%,rgba(6,17,30,.3) 100%),
    radial-gradient(circle at 76% 26%,rgba(105,212,177,.14),transparent 33%),
    repeating-linear-gradient(90deg,transparent 0 79px,rgba(105,212,177,.04) 80px);
}
:root[data-theme="light"] .customers-shell .view[data-view]::before{
  background:
    linear-gradient(90deg,rgba(232,238,242,.98) 0%,rgba(232,238,242,.82) 38%,rgba(232,238,242,.28) 100%),
    radial-gradient(circle at 76% 26%,rgba(18,165,140,.12),transparent 33%),
    repeating-linear-gradient(90deg,transparent 0 79px,rgba(18,165,140,.035) 80px);
}
.customer-wall-intro{
  max-width:660px;
  margin:12px 0 16px;
  color:var(--soft);
  font-size:.76rem;
  line-height:1.55;
}
.customer-wall-intro strong{color:var(--ink);font-weight:600}
.customer-logo-wall{
  position:relative;
  overflow:hidden;
  margin:0;
  padding:2px 0 8px;
  mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
}
.customer-logo-track{
  display:grid;
  grid-auto-flow:column;
  grid-template-rows:repeat(3,112px);
  grid-auto-columns:220px;
  gap:8px;
  width:max-content;
  will-change:transform;
  animation:customer-marquee 58s linear infinite;
}
.customer-logo-wall:hover .customer-logo-track,
.customer-logo-wall:focus-within .customer-logo-track{
  animation-play-state:paused;
}
@keyframes customer-marquee{
  to{transform:translate3d(calc(-1 * var(--logo-loop-width,3640px)),0,0)}
}
.customer-logo-wall figure{
  display:grid;
  place-items:center;
  min-width:0;
  height:112px;
  margin:0;
  padding:12px 14px;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(24,57,70,.1);
  transition:background .22s ease,box-shadow .22s ease,transform .22s ease;
}
.customer-logo-wall figure:hover{
  z-index:1;
  background:#fff;
  box-shadow:inset 0 0 0 2px rgba(105,212,177,.72),0 12px 30px rgba(0,0,0,.16);
  transform:translateY(-2px);
}
.customer-logo-wall img{
  width:100%;
  height:78px;
  object-fit:contain;
  filter:none;
  opacity:1;
}
:root[data-theme="light"] .customer-logo-wall figure{
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(18,165,140,.1);
}
:root[data-theme="light"] .customer-logo-wall img{filter:none;opacity:1}
.customer-proof{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  margin-top:9px;
  background:var(--line);
}
.customer-proof div{
  min-width:0;
  padding:12px 14px;
  background:rgba(105,212,177,.045);
}
.customer-proof strong{
  display:block;
  color:var(--ink);
  font:600 .68rem/1.25 var(--sans);
}
.customer-proof span{
  display:block;
  margin-top:5px;
  color:var(--soft);
  font-size:.5rem;
  line-height:1.35;
}
.industry-read-more{
  display:inline-flex;
  align-items:center;
  gap:18px;
  margin-top:14px;
  padding:11px 15px;
  border:1px solid rgba(105,212,177,.28);
  color:var(--ink);
  font:600 .56rem/1 var(--sans);
  letter-spacing:.04em;
  text-transform:uppercase;
  background:transparent;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.industry-read-more span{color:var(--mint);font-size:.76rem;transition:transform .2s ease}
.industry-read-more[aria-expanded="true"] span{transform:rotate(45deg)}
.industry-read-more:hover{
  background:rgba(105,212,177,.1);
  border-color:rgba(105,212,177,.6);
  transform:translateY(-1px);
}
.industry-expansion{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  margin-top:10px;
  background:var(--line);
  animation:industry-open .28s ease both;
}
.industry-expansion[hidden]{display:none}
.industry-expansion>div{padding:16px;background:rgba(105,212,177,.045)}
.industry-expansion span{
  color:var(--mint);
  font:600 .46rem/1 var(--sans);
  letter-spacing:.09em;
  text-transform:uppercase;
}
.industry-expansion h4{
  margin:10px 0 7px;
  color:var(--ink);
  font:600 .68rem/1.3 var(--sans);
}
.industry-expansion p{margin:0;color:var(--soft);font-size:.54rem;line-height:1.55}
@keyframes industry-open{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.industry-read-more.is-loading{opacity:.5;pointer-events:none}
.testimonial-stage{
  position:relative;
  min-height:260px;
  margin-top:18px;
  background:linear-gradient(145deg,rgba(105,212,177,.1),rgba(41,182,210,.025));
}
.testimonial-stage blockquote{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  margin:0;
  padding:clamp(22px,3vw,38px);
  overflow:auto;
  opacity:0;
  pointer-events:none;
  transform:translateY(12px);
  transition:opacity .3s ease,transform .3s ease;
}
.testimonial-stage blockquote.is-active{opacity:1;pointer-events:auto;transform:none}
.testimonial-stage p{
  max-width:31em;
  margin:0;
  color:var(--ink);
  font:500 clamp(1rem,1.45vw,1.35rem)/1.45 var(--sans);
  letter-spacing:-.025em;
}
.testimonial-stage footer{display:flex;flex-direction:column;gap:5px;margin-top:22px}
.testimonial-stage footer strong{color:var(--mint);font:600 .72rem/1.2 var(--sans)}
.testimonial-stage footer span{color:var(--soft);font-size:.6rem}
.testimonial-tabs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  margin-top:9px;
  background:var(--line);
}
.testimonial-tabs button{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  padding:9px 11px;
  border:0;
  background:rgba(105,212,177,.035);
  color:var(--soft);
  font:600 .52rem/1.2 var(--sans);
  text-align:left;
  cursor:pointer;
}
.testimonial-tabs button span{color:#4f7580;font-size:.45rem}
.testimonial-tabs button:hover,.testimonial-tabs button.is-active{background:rgba(105,212,177,.12);color:var(--ink)}
.testimonial-tabs button.is-active span{color:var(--mint)}
.customer-signal,.project-progress,.evidence-map{
  display:flex;
  align-items:center;
  gap:12px;
  margin:18px 0 9px;
  min-height:54px;
  padding:11px 16px;
  background:linear-gradient(90deg,rgba(105,212,177,.07),rgba(41,182,210,.025));
  color:var(--soft);
  font:600 .52rem/1 var(--sans);
  letter-spacing:.1em;
}
.customer-signal i,.project-progress i,.evidence-map i{position:relative;flex:1;height:1px;background:rgba(105,212,177,.34)}
.customer-signal i::after,.evidence-map i::after{content:"";position:absolute;right:0;top:50%;width:7px;height:7px;border-radius:50%;background:var(--mint);transform:translateY(-50%);box-shadow:0 0 12px var(--mint)}
.customer-signal b,.evidence-map strong{margin-left:auto;color:var(--mint);font:600 .54rem/1 var(--sans)}
.metric-line{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  margin:18px 0 9px;
  background:var(--line);
}
.metric-line div{padding:12px 15px;background:rgba(105,212,177,.045)}
.metric-line span{display:block;color:var(--soft);font:600 .47rem/1 var(--sans);letter-spacing:.11em}
.metric-line strong{display:block;margin-top:8px;color:var(--ink);font:600 1rem/1 var(--sans)}
.project-progress i{flex:1;height:6px;border-radius:99px;background:rgba(105,212,177,.1)}
.project-progress i.done{background:linear-gradient(90deg,var(--teal),var(--mint))}
.project-progress b{margin-left:auto;color:var(--mint);font-size:1rem}
.engagement-path{
  display:grid;
  grid-template-columns:1fr 28px 1fr 28px 1fr;
  gap:8px;
  align-items:center;
  margin:18px 0 9px;
}
.engagement-path>div{padding:13px;background:rgba(105,212,177,.045)}
.engagement-path span{color:var(--mint);font:600 .48rem/1 var(--sans)}
.engagement-path b{display:block;margin:8px 0 4px;font:600 .72rem/1 var(--sans)}
.engagement-path p{margin:0;color:var(--soft);font-size:.52rem;line-height:1.4}
.engagement-path>i{height:1px;background:linear-gradient(90deg,var(--teal),var(--mint))}
.industry-read-more{min-height:44px}
.testimonial-tabs button{min-height:44px}
@media(max-width:900px){
  .customer-logo-track{grid-template-rows:repeat(3,82px);grid-auto-columns:160px;animation-duration:45s}
  .customer-logo-wall figure{height:82px;padding:10px}
  .customer-logo-wall img{height:58px}
  .customer-proof{grid-template-columns:1fr}
  .metric-line{grid-template-columns:1fr}
  .industry-expansion{grid-template-columns:1fr}
  .testimonial-stage{min-height:340px}
  .testimonial-tabs{grid-template-columns:repeat(2,1fr)}
  .engagement-path{grid-template-columns:1fr;gap:5px}.engagement-path>i{width:1px;height:9px;margin:auto}
}
@media(prefers-reduced-motion:reduce){
  .customer-logo-track{animation:none}
  .customer-logo-wall{overflow:auto;mask-image:none}
}
