
.marslan-anim-slot{ position:relative; width:100%; height:230px; overflow:hidden; border-radius:14px; margin-bottom:10px; }
@media(min-width:1024px){ .marslan-anim-slot{ height:240px; } }
.marslan-anim-slot > svg, .marslan-anim-slot > object, .marslan-anim-slot > canvas, .marslan-anim-slot > img, .marslan-anim-slot > iframe{ position:absolute; inset:0; width:100%; height:100%; }


/* === Responsive fixes injected === */
.hero.two-col{
  min-height: 92vh;
  display: grid;
  align-items: center;
}
@media(max-width: 1024px){
  .hero.two-col{ min-height: 86vh; }
}
@media(max-width: 768px){
  .hero.two-col{ min-height: auto; padding-top: 24px; padding-bottom: 24px; }
}

/* Services grid + cards sizing */
.section.services .services-grid{
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
}
@media(max-width: 1100px){
  .section.services .services-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media(max-width: 640px){
  .section.services .services-grid{ grid-template-columns: 1fr; }
}

.section.services .service-card{
  padding: 18px 18px 16px;
  min-height: 280px;
}
/* shrink icon and header spacing a bit */
.section.services .service-card .svc-ico{ transform: scale(.9); }
.section.services .service-card h3{ margin-top: 6px; margin-bottom: 8px; }

/* animation slot size tuned smaller; auto scales SVG */
.marslan-anim-slot{ height: 180px; }
@media(min-width: 1280px){
  .marslan-anim-slot{ height: 190px; }
}
@media(max-width: 640px){
  .marslan-anim-slot{ height: 150px; }
}


/* === Compact pass v3 === */
.section.services{ padding-top: 28px; padding-bottom: 28px; }
.section.services .services-head h2{ margin-bottom: 6px; }
.section.services .services-head .lead{ margin-top: 2px; margin-bottom: 16px; }

.section.services .services-grid{ gap: 14px; }

.section.services .service-card{
  padding: 14px 14px 12px;
  min-height: 240px; /* was 280 */
}
.section.services .service-card .svc-ico{ transform: scale(.85); }
.section.services .service-card h3{ margin-top: 4px; margin-bottom: 6px; }

/* animation slot smaller */
.marslan-anim-slot{ height: 150px; }
@media(min-width:1280px){ .marslan-anim-slot{ height: 160px; } }
@media(max-width:640px){ .marslan-anim-slot{ height: 140px; } }

/* slight inner text compaction */
.section.services .service-card .desc{ font-size: .95rem; line-height: 1.35; }
