/* TECH MEDIA CORPORATION V5.9 — content-first Expertise cards.
   V5.7/V5.8 used forced height:217–282px, clipping card footer labels.
   Allow cards to grow to their actual content height; preserve aligned rows
   and restrained visuals. Never sacrifice text to force a viewport fit. */
@media (min-width:1100px) {
  .expertise { min-height:var(--tmc-stage); height:auto; }
  .expertise-intro { flex-shrink:0; padding-top:clamp(10px,1.9svh,18px)!important; margin-bottom:clamp(10px,1.5svh,16px)!important; }
  .expertise-intro .display-heading { font-size:clamp(53px,min(5.1vw,7.2svh),79px)!important; }
  .capabilities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr))!important; grid-auto-rows:minmax(max-content,1fr); gap:clamp(12px,1.3svh,18px)!important; align-items:stretch; }
  .capability { box-sizing:border-box; height:auto!important; max-height:none!important; min-height:clamp(259px,30svh,300px)!important; padding:clamp(13px,1.15vw,19px) clamp(17px,1.4vw,23px) clamp(15px,1.3vw,20px)!important; overflow:hidden; }
  .capability img { flex:0 0 auto; height:clamp(62px,7.8svh,80px)!important; margin:clamp(2px,.5svh,5px) auto clamp(7px,.85svh,10px)!important; }
  .capability h3 { flex:0 0 auto; font-size:clamp(26px,min(2.1vw,3.7svh),33px)!important; line-height:1.05!important; margin:0 0 clamp(7px,.85svh,10px)!important; overflow-wrap:normal; }
  .capability p { flex:0 0 auto; font-size:clamp(11.5px,.83vw,13px)!important; line-height:1.48!important; margin:0 0 11px!important; }
  .capability .cap-tag { flex:0 0 auto; margin-top:auto!important; padding-top:clamp(9px,1svh,12px)!important; line-height:1.3!important; min-height:20px; }
}
/* On mid-size screens keep every card as tall as its copy actually requires. */
@media (min-width:701px) and (max-width:1099px) {
  .capabilities { align-items:stretch; grid-auto-rows:minmax(max-content,1fr); }
  .capability { height:auto!important; max-height:none!important; min-height:295px!important; padding-bottom:20px!important; }
  .capability h3,.capability p,.capability .cap-tag { flex-shrink:0; }
  .capability .cap-tag { margin-top:auto!important; line-height:1.4; }
}
@media (max-width:700px) {
  .capabilities { align-items:stretch; }
  .capability { height:auto!important; max-height:none!important; min-height:290px!important; padding-bottom:19px!important; }
  .capability h3,.capability p,.capability .cap-tag { flex-shrink:0; }
  .capability .cap-tag { margin-top:auto!important; line-height:1.4; }
}
/* Compact laptop heights: preserve both complete rows in the opening viewport
   without cutting off the bottom service label. */
@media (min-width:1100px) and (max-height:820px) {
  .expertise-intro{padding-top:10px!important;margin-bottom:9px!important}
  .expertise-intro .display-heading{font-size:clamp(52px,min(4.8vw,7.1svh),73px)!important}
  .capabilities{gap:12px!important}
  .capability{min-height:clamp(233px,29.5svh,249px)!important;padding:11px 17px 13px!important}
  .capability img{height:clamp(54px,7.1svh,65px)!important;margin:1px auto 5px!important}
  .capability h3{font-size:clamp(25px,min(2vw,3.65svh),30px)!important;margin-bottom:6px!important}
  .capability p{font-size:11.5px!important;line-height:1.38!important;margin-bottom:6px!important}
  .capability .cap-tag{padding-top:8px!important;font-size:8.5px!important}
}
