/* GlobalScalar v25 technology-card readability and depth layer */
body[data-v20] .v20-tcard,
body[data-v20] .tech-detail-card{background:#fff!important;color:#0b1d10!important}
body[data-v20] .v20-tcard h3,
body[data-v20] .tech-detail-card h3,
body[data-v20] .tech-detail-card p,
body[data-v20] .v20-tcard li,
body[data-v20] .tech-detail-card li{color:#17261b!important;opacity:1!important}
body[data-v20] .v20-tcard .tech-stack-list{margin-bottom:16px}
.tech-group-shell{display:block}
.tech-group{margin-top:34px}
.tech-group:first-child{margin-top:8px}
.tech-group-heading{margin:0 0 14px;padding:15px 18px;border-left:5px solid #7acc05;background:#edf5df;border:1px solid #cbd9b7;border-left-width:5px;border-radius:10px}
.tech-group-heading>span{display:block;color:#3d6b00;font-size:.72rem;font-weight:900;letter-spacing:.12em}
.tech-group-heading h3{margin:4px 0 4px!important;color:#0b1d10!important;font-size:1.25rem!important;line-height:1.25!important}
.tech-group-heading p{margin:0!important;color:#465748!important;font-size:.9rem!important}
.tech-card-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.tech-card-kicker{display:inline-block;margin:0 0 8px;color:#2c6b05;font-size:.68rem;font-weight:900;letter-spacing:.11em}
body[data-v20] .v20-tcard .tech-card-kicker{color:#2c6b05!important}
.tech-skills{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid #dbe4d0}
.tech-skills>div{background:#f5f8ef;border:1px solid #d7e2c8;border-radius:9px;padding:11px 12px}
.tech-skills b,.tech-card-columns b{display:block;color:#2c6b05!important;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}
.tech-skills ul,.tech-card-columns ul{list-style:none!important;margin:0!important;padding:0!important}
.tech-skills li,.tech-card-columns li{position:relative;padding:4px 0 4px 15px!important;border:0!important;font-size:.84rem!important;line-height:1.35!important}
.tech-skills li:before,.tech-card-columns li:before{content:'✓';position:absolute;left:0;top:4px;color:#5c9708;font-weight:900}
.all-tech-grid{margin-top:48px;padding-top:38px;border-top:1px solid #d5dfca}
.all-tech-heading{max-width:900px;margin-bottom:22px}
.all-tech-heading h2{margin:4px 0 8px;color:#0b1d10!important}
.all-tech-heading p{color:#435345!important}
.tech-detail-card{border:1px solid #cbd8bf;border-top:5px solid #7acc05;border-radius:13px;padding:20px;box-shadow:0 5px 18px rgba(24,45,16,.07);display:flex;flex-direction:column;min-height:100%}
.tech-detail-card h3{margin:0 0 5px!important;font-size:1.28rem!important}
.tech-card-tag{font-weight:800!important;color:#3d6b00!important;font-size:.82rem!important}
.tech-detail-card>p:not(.tech-card-tag){font-size:.91rem!important;line-height:1.5!important}
.tech-card-columns{display:grid;grid-template-columns:1fr;gap:10px;margin:10px 0 14px}
.tech-card-columns>div{background:#f5f8ef;border:1px solid #d7e2c8;border-radius:9px;padding:11px 12px}
.tech-tools{margin-top:auto;padding:11px 0 14px;color:#465748;font-size:.78rem;line-height:1.45}
.tech-tools b{color:#2c6b05}
.tech-detail-card .btn{align-self:flex-start}
/* Hard guarantee for light surfaces: never use white text on white cards. */
body[data-v20] :is(.v20-tcard,.tech-detail-card) :is(h2,h3,h4,p,li,small,strong,span){text-shadow:none!important}
body[data-v20] :is(.v20-tcard,.tech-detail-card) :is(h2,h3,h4){color:#0b1d10!important}
body[data-v20] :is(.v20-tcard,.tech-detail-card) :is(p,li,small){color:#263a2b!important}
@media(max-width:980px){.tech-card-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.tech-card-row{grid-template-columns:1fr}.tech-group-heading h3{font-size:1.08rem!important}.tech-group{margin-top:26px}}

/* v26 card layout: visual reference style + 3-card technology rows */
.tech-group-shell,.capability-group-shell{display:grid;gap:34px}
.tech-group,.capability-group{display:grid;gap:16px}
.tech-group-heading,.capability-group-heading{padding:4px 4px 10px}
.tech-group-heading>span,.capability-group-heading>span{display:inline-block;font-size:.72rem;letter-spacing:.16em;font-weight:800;color:#70852b;margin-bottom:7px}
.tech-group-heading h3,.capability-group-heading h3{margin:0;color:#151a12;font-size:clamp(1.05rem,2vw,1.45rem);line-height:1.25}
.tech-group-heading p,.capability-group-heading p{margin:7px 0 0;max-width:900px;color:#536052;font-size:.92rem;line-height:1.55}
.tech-card-row,.capability-card-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.v20-tcard,.tech-detail-card{background:#fff!important;color:#151a12!important;border:1px solid rgba(60,78,35,.22)!important;box-shadow:0 10px 28px rgba(20,28,10,.08);overflow:hidden}
.v20-tcard h3,.tech-detail-card h3,.v20-tcard p,.tech-detail-card p,.v20-tcard li,.tech-detail-card li{color:#151a12!important}
.tech-card-visual{height:168px;display:flex;align-items:center;justify-content:center;background:#f7f8f1;border-bottom:1px solid rgba(60,78,35,.14);overflow:hidden}
.tech-card-visual img{width:100%;height:100%;object-fit:cover;display:block}
.v20-tcard .tech-card-visual{margin:-24px -24px 20px}
.tech-detail-card .tech-card-visual{margin:-26px -26px 20px}
.tech-card-kicker{font-size:.68rem;letter-spacing:.15em;font-weight:800;color:#70852b!important;margin-bottom:8px}
.tech-card-description{display:grid;gap:4px;margin:12px 0 18px;padding:13px 14px;background:#f7f8f1;border-left:3px solid #70852b;border-radius:4px}
.tech-card-description span{display:block;color:#283126!important;font-size:.83rem;line-height:1.42}
.tech-skills,.tech-card-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.tech-skills>div,.tech-card-columns>div{background:#fbfcf8;border:1px solid rgba(60,78,35,.12);padding:12px;border-radius:6px}
.tech-skills b,.tech-card-columns b{display:block;color:#151a12!important;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}
.tech-skills ul,.tech-card-columns ul{margin:0;padding-left:18px}
.tech-skills li,.tech-card-columns li{font-size:.78rem;line-height:1.42;margin:3px 0}
.tech-stack-list{color:#151a12!important}
.all-tech-heading{margin-bottom:28px}
.all-tech-heading h2{color:#151a12!important}
.all-tech-heading p{color:#536052!important}
.tech-detail-card .tech-card-tag{color:#70852b!important;font-weight:700;font-size:.8rem;margin:4px 0}
.tech-detail-card .tech-tools{color:#536052!important;font-size:.78rem;line-height:1.5;margin:16px 0}
.tech-detail-card .tech-tools b{color:#151a12!important}
.capability-card-row .card{height:100%;background:#fff!important;color:#151a12!important}
.capability-card-row .card h3,.capability-card-row .card p{color:#151a12!important}
.capability-group-shell{margin-top:24px}

@media(max-width:980px){.tech-card-row,.capability-card-row{grid-template-columns:repeat(2,minmax(0,1fr))}.tech-skills,.tech-card-columns{grid-template-columns:1fr}}
@media(max-width:640px){.tech-card-row,.capability-card-row{grid-template-columns:1fr}.tech-card-visual{height:150px}}

/* v28 — unified technology catalogue visuals across the complete website */
body[data-v20] .tech-card-visual,
body[data-v20] .tech-detail-card .tech-card-visual{
  position:relative;
  height:190px;
  min-height:190px;
  overflow:hidden;
  background:#07170d;
  border-bottom:1px solid rgba(122,204,5,.24);
  isolation:isolate;
}
body[data-v20] .v20-tcard .tech-card-visual,
body[data-v20] .tech-detail-card .tech-card-visual{
  margin:-24px -24px 20px;
  width:calc(100% + 48px);
}
body[data-v20] .tech-card-visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  background:#07170d;
  transform:scale(1.015);
  filter:saturate(1.06) contrast(1.04);
  animation:gsTechVisualDrift 9s ease-in-out infinite alternate;
}
.tech-card-visual::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(115deg,rgba(122,204,5,.08),transparent 34%,rgba(255,255,255,.03) 62%,transparent 82%);
}
.tech-card-visual::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-20%;
  height:2px;
  z-index:4;
  pointer-events:none;
  background:rgba(155,238,38,.78);
  box-shadow:0 0 14px rgba(155,238,38,.65);
  animation:gsTechScan 5.5s linear infinite;
}
.tech-visual-scan{
  position:absolute;
  inset:12px;
  z-index:3;
  pointer-events:none;
  border:1px solid rgba(151,230,42,.17);
  border-radius:8px;
  box-shadow:inset 0 0 22px rgba(122,204,5,.07);
}
.tech-visual-badge{
  position:absolute;
  left:12px;
  bottom:10px;
  z-index:5;
  padding:4px 7px;
  border:1px solid rgba(151,230,42,.38);
  border-radius:5px;
  background:rgba(4,20,10,.72);
  color:#b9f35e;
  font-size:.58rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.11em;
  backdrop-filter:blur(5px);
}
.tech-card-row > .v20-tcard,
.tech-card-row > .tech-detail-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
}
body[data-v20] .v20-tcard .tech-stack-list{
  min-height:154px;
}
body[data-v20] .v20-tcard .tech-card-description,
body[data-v20] .tech-detail-card .tech-card-description{
  flex:0 0 auto;
}
body[data-v20] .v20-tcard .tech-skills,
body[data-v20] .tech-detail-card .tech-card-columns{
  margin-top:auto;
}
.capability-detail-copy{
  display:grid;
  gap:4px;
  margin:14px 0 16px;
  padding:12px 13px;
  background:#f7f8f1;
  border-left:3px solid #70852b;
  border-radius:4px;
}
.capability-detail-copy span{
  color:#283126!important;
  font-size:.8rem;
  line-height:1.42;
}
.capability-card-row .capability-detail-copy{margin-top:12px}
@keyframes gsTechVisualDrift{
  from{transform:scale(1.015) translate3d(0,0,0)}
  to{transform:scale(1.045) translate3d(-4px,-2px,0)}
}
@keyframes gsTechScan{
  0%{top:-12%;opacity:0}
  12%{opacity:.9}
  82%{opacity:.8}
  100%{top:108%;opacity:0}
}
@media(prefers-reduced-motion:reduce){
  .tech-card-visual img,.tech-card-visual::after{animation:none!important}
}
@media(max-width:980px){
  body[data-v20] .tech-card-visual{height:175px;min-height:175px}
}
@media(max-width:640px){
  body[data-v20] .tech-card-visual{height:160px;min-height:160px}
}

/* v29 — richer group introductions and intentional final featured technology */
.tech-group-heading{
  padding:18px 20px 20px!important;
  background:linear-gradient(180deg,#f3f8e9 0%,#edf5df 100%)!important;
  border:1px solid #cbd9b7!important;
  border-left:5px solid #7acc05!important;
  border-radius:10px!important;
}
.tech-group-heading h3{
  margin:4px 0 12px!important;
}
.tech-group-description{
  display:grid;
  gap:4px;
  max-width:980px;
  margin-top:6px;
}
.tech-group-description span{
  display:block;
  color:#435345!important;
  font-size:.9rem!important;
  line-height:1.48!important;
}
.tech-group-description span::before{
  content:'•';
  display:inline-block;
  margin-right:8px;
  color:#6cab09;
  font-weight:900;
}
.tech-group-featured .tech-card-row{
  grid-template-columns:minmax(0,1fr);
  max-width:420px;
  margin:0 auto;
}
.tech-group-featured .tech-card-row>.v20-tcard,
.tech-group-featured .tech-card-row>.tech-detail-card{
  width:100%;
}
@media(max-width:980px){
  .tech-group-featured .tech-card-row{max-width:520px}
}
@media(max-width:640px){
  .tech-group-heading{padding:15px!important}
  .tech-group-description span{font-size:.84rem!important}
  .tech-group-featured .tech-card-row{max-width:none}
}

/* v29 — capability group introductions match the technology-group hierarchy */
.capability-group-heading{
  padding:18px 20px 20px!important;
  background:linear-gradient(180deg,#f3f8e9 0%,#edf5df 100%)!important;
  border:1px solid #cbd9b7!important;
  border-left:5px solid #7acc05!important;
  border-radius:10px!important;
}
.capability-group-heading h3{margin:4px 0 12px!important}
.capability-group-description{display:grid;gap:4px;max-width:980px}
.capability-group-description span{display:block;color:#435345!important;font-size:.9rem!important;line-height:1.48!important}
.capability-group-description span::before{content:'•';display:inline-block;margin-right:8px;color:#6cab09;font-weight:900}
@media(max-width:640px){
 .capability-group-heading{padding:15px!important}
 .capability-group-description span{font-size:.84rem!important}
}
